Python中如何遍历路径下的所有文件
发布时间:2023-12-27 17:19:23
在Python中遍历路径下的所有文件,可以使用os.walk()函数来实现。os.walk()函数是一个生成器,它会递归遍历指定路径下的所有文件和文件夹。
os.walk()函数的语法如下:
os.walk(top, topdown=True, onerror=None, followlinks=False)
其中,top参数是指定要遍历的路径;topdown参数控制遍历顺序,如果设置为True,则先遍历目录,再遍历子目录;onerror参数可以指定一个处理错误的函数;followlinks参数表示是否遍历符号链接指向的目录。
下面是一个示例代码,演示如何遍历路径下的所有文件,并打印出文件路径:
import os
def traverse_files(path):
for root, dirs, files in os.walk(path):
for name in files:
file_path = os.path.join(root, name)
print(file_path)
# 遍历当前目录下的所有文件
traverse_files('.')
上述代码中,os.walk(path)会返回一个三元组(dirpath, dirnames, filenames),其中dirpath是当前目录的路径,dirnames是当前目录下的子目录列表,filenames是当前目录下的文件名列表。利用这些信息,我们可以使用os.path.join()函数构造出文件的绝对路径。
使用os.walk()遍历路径下的所有文件时,还可以根据文件的扩展名或其它条件进行筛选。下面是一个示例代码,演示如何只遍历指定扩展名的文件:
import os
def traverse_files(path, extension):
for root, dirs, files in os.walk(path):
for name in files:
if name.endswith(extension):
file_path = os.path.join(root, name)
print(file_path)
# 遍历当前目录下的所有.py文件
traverse_files('.', '.py')
在上述代码中,我们使用了name.endswith(extension)来筛选文件。可以根据需要调整筛选条件。
使用os.walk()遍历路径下的所有文件非常灵活,可以根据具体的需求来进行修改和扩展。
