一、os.listdir函数介绍
os模块是Python中一个很重要的模块,它提供了访问操作系统功能的接口。其中,os.listdir函数用于返回指定路径下的所有文件和目录的名称列表。
os.listdir函数的语法如下:
import os os.listdir(path)
其中,path表示要查看的目录的路径。该函数返回的结果是一个列表,其中每个元素是指定路径下的文件或目录的名称。
二、os.listdir函数的使用
我们可以使用os.listdir函数来读取某个目录下的所有文件和目录。
例如,我们有一个名为“MyFolder”的目录,它包含了两个文件“file1.txt”和“file2.csv”,以及一个子目录“SubFolder”:
MyFolder/ |-- file1.txt |-- file2.csv `-- SubFolder/ |-- subfile1.csv |-- subfile2.txt `-- subfile3.xlsx
下面是使用os.listdir函数读取“MyFolder”目录下的所有文件和目录的代码:
import os path = "MyFolder/" files = os.listdir(path) for file in files: print(file)
上述代码执行结果如下:
file1.txt file2.csv SubFolder
注意,os.listdir函数返回的列表中包含了子目录的名称。
三、过滤指定文件类型
有时候,我们只需要读取指定类型的文件,可以通过对os.listdir函数返回的列表进行筛选来实现。
例如,我们只需要读取“MyFolder”目录下的所有CSV文件,可以在for循环中添加一个判断条件:
import os path = "MyFolder/" files = os.listdir(path) for file in files: if file.endswith(".csv"): print(file)
上述代码执行结果如下:
file2.csv subfile1.csv
注意,os.listdir函数返回的列表中包含了子目录的名称,我们可以使用os.path.join函数来拼接完整的路径以便读取子目录中的文件。
import os path = "MyFolder/" files = os.listdir(path) for file in files: if file.endswith(".csv"): print(os.path.join(path, file))
上述代码执行结果如下:
MyFolder/file2.csv MyFolder/SubFolder/subfile1.csv
四、总结
os.listdir函数是Python中读取目录信息的常用函数,它可以返回指定路径下的所有文件和目录的名称列表。我们可以通过对其返回结果进行筛选来读取指定类型的文件或目录。
下面是完整的读取“MyFolder”目录下所有CSV文件的代码示例:
import os path = "MyFolder/" files = os.listdir(path) for file in files: if file.endswith(".csv"): print(os.path.join(path, file))