欢迎访问宙启技术站
智能推送

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()遍历路径下的所有文件非常灵活,可以根据具体的需求来进行修改和扩展。