您的位置:

Python中os模块print输出目录和文件名

一、os模块介绍

Python中有一个os模块,它提供了许多操作文件和目录的功能。我们可以通过这个模块中的函数,比如os.listdir和os.walk等来遍历文件目录,查看文件和目录,判断文件和目录是否存在,创建和删除文件和目录等等。下面我们将结合实例来看一下如何通过os模块打印输出目录和文件名。

二、用os.listdir函数获取目录下的文件及目录列表

os模块的listdir函数可以返回指定目录下的所有文件和文件夹的列表。下面我们将演示如何打印出某个目录下的所有文件和子目录。

import os

# 定义需要遍历的目录
rootdir = '/home/user/Desktop/'

# 获取目录下的所有文件和子目录
list = os.listdir(rootdir)

# 遍历该列表,打印其中所有的文件名和子目录名
for li in list:
    print(li)

上述代码中,我们通过定义rootdir变量来指定需要遍历的目录,并通过os.listdir函数获取该目录下的所有文件和子目录的列表。然后通过遍历该列表,将其中的所有文件和子目录名打印输出。

三、用os.walk遍历文件夹及其子文件夹

os模块的walk函数可以遍历指定目录下的所有文件夹及其所包含的文件和子目录。

import os

# 定义需要遍历的目录
rootdir = '/home/user/Desktop/'

# 遍历包含rootdir的目录及其子目录下的所有文件和子目录
for root, dirs, files in os.walk(rootdir):
    for file in files:
        print(os.path.join(root, file))

上述代码中,我们通过定义rootdir变量来指定需要遍历的目录,并通过os.walk函数遍历该目录及其子目录下的所有文件夹及其包含的文件和子目录。对于每一个遍历到的子目录,我们可以分别打印其所包含的文件和子目录名。因此,在最内层循环中,我们将root和file通过os.path.join函数组合成完整的路径,然后通过print函数打印出来。

四、用os.path.isdir和os.path.isfile函数判断目标是文件夹还是文件

通过os.path.isdir和os.path.isfile函数,我们可以判断指定路径是一个文件夹还是文件。

import os

# 定义需要遍历的目录
rootdir = '/home/user/Desktop/'

# 遍历包含rootdir的目录及其子目录下的所有文件和子目录
for root, dirs, files in os.walk(rootdir):
    for file in files:
        filepath = os.path.join(root, file)
        if os.path.isfile(filepath):
            print('file:', filepath)
        elif os.path.isdir(filepath):
            print('dir:', filepath)

上述代码中,我们在最内层循环中定义了一个filepath变量,用来表示当前遍历到的文件的完整路径。然后,通过os.path.isfile和os.path.isdir函数判断当前遍历到的是否为文件或文件夹,并在控制台打印出来。

五、用os.path.splitext函数获取文件后缀名

通过os.path.splitext函数,我们可以获取到指定路径中文件的后缀名。

import os

# 定义需要遍历的目录
rootdir = '/home/user/Desktop/'

# 遍历包含rootdir的目录及其子目录下的所有文件和子目录
for root, dirs, files in os.walk(rootdir):
    for file in files:
        filepath = os.path.join(root, file)
        if os.path.isfile(filepath):
            ext = os.path.splitext(filepath)[1]
            print('ext:', ext)

上述代码中,我们在最内层循环中定义了一个filepath变量,用来表示当前遍历到的文件的完整路径。然后,通过os.path.splitext函数获取到该文件的后缀名,并在控制台打印出来。

六、总结

Python中的os模块提供了丰富的功能,可以对文件和目录进行各种各样的操作。通过本文的介绍,我们可以掌握如何使用os模块打印输出目录和文件名的方法,希望对大家有所帮助。