Python遍历文件夹下所有文件
在日常的编程中,我们难免会遇到去打开个文件的需求。python标准库中有一个walk()方法,是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录。
walk()参数格式如下:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
top:是你所要遍历的目录的地址。
topdown:可选。True:优先遍历 top 目录。False:优先遍历 top 的子目录(默认为True)。如果 topdown 参数为 True,walk 会遍历top文件夹,与 top 文件夹中每一个子目录。
onerror:可选,需要一个 callable 对象,当 walk 需要异常时,会调用。
followlinks:可选。主要决定是否遍历目录下的快捷方式(linux 下是软连接 symbolic link )实际所指的目录(默认关闭)。
返回值:一个三元组(root,dirs,files)。
root:当前正在遍历的这个文件夹。
dirs:root下的文件夹。
files:root下的文件list。
代码示例:
for root, dirs, files in os.walk(filePath):
# root 表示当前正在访问的文件夹路径
# dirs 表示该文件夹下的子目录名list
# files 表示该文件夹下的文件list
# 遍历文件
for f in files:
print(os.path.join(root, f))
# 遍历所有的文件夹
for d in dirs:
print(os.path.join(root, d))
实际运用时若想得到某目录下所有文件名,可选择递归函数实现:
def WalkFiles(filePath):
for root, dirs, files in os.walk(filePath):
for f in files:
print(os.path.join(root, f))
for d in dirs:
WalkFiles(os.path.join(root, d))
print(os.path.join(root, d))