首页 > 编程知识 正文

Python如何遍历多个文件夹

时间:2023-11-21 23:37:49 阅读:300808 作者:PSWJ

在Python中,遍历多个文件夹是一个常见的需求。通过使用递归函数和操作系统模块,我们可以轻松地实现这个功能。本文将详细介绍Python如何遍历多个文件夹,并给出对应的代码示例。

一、遍历单个文件夹

在开始遍历多个文件夹之前,首先我们需要了解如何遍历单个文件夹。Python提供了os.walk()函数来遍历文件夹中的所有文件和子文件夹。

import os

def traverse_folder(folder_path):
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            file_path = os.path.join(root, file)
            # 在这里对文件路径进行操作

# 调用函数遍历文件夹
traverse_folder("folder_path")

上述代码中,我们通过os.walk()函数遍历了指定文件夹下的所有文件和子文件夹。对于每一个文件,我们可以通过os.path.join()函数获取其完整的路径,并进行相应的操作。

二、遍历多个文件夹

为了遍历多个文件夹,我们可以通过在遍历单个文件夹的代码中嵌套一个循环来实现。我们可以将多个文件夹的路径存储在一个列表中,然后对列表进行遍历。

import os

def traverse_folders(folder_paths):
    for folder_path in folder_paths:
        for root, dirs, files in os.walk(folder_path):
            for file in files:
                file_path = os.path.join(root, file)
                # 在这里对文件路径进行操作

# 定义多个文件夹路径的列表
folder_paths = ["folder_path1", "folder_path2", "folder_path3"]

# 调用函数遍历多个文件夹
traverse_folders(folder_paths)

上述代码中,我们定义了一个包含多个文件夹路径的列表folder_paths。然后,使用一个循环对列表中的每一个文件夹路径进行遍历。在每次循环中,我们调用之前编写的遍历单个文件夹的函数,实现对多个文件夹的遍历。

三、遍历多个文件夹并筛选文件类型

如果我们只希望遍历某个特定类型的文件,可以在遍历文件夹时进行筛选。下面是一个示例代码,演示如何遍历多个文件夹并筛选出指定类型的文件。

import os

def traverse_folders_with_filter(folder_paths, file_extension):
    for folder_path in folder_paths:
        for root, dirs, files in os.walk(folder_path):
            for file in files:
                if file.endswith(file_extension):
                    file_path = os.path.join(root, file)
                    # 在这里对文件路径进行操作

# 定义多个文件夹路径的列表
folder_paths = ["folder_path1", "folder_path2", "folder_path3"]

# 定义要筛选的文件类型
file_extension = ".txt"

# 调用函数遍历多个文件夹并筛选文件类型
traverse_folders_with_filter(folder_paths, file_extension)

上述代码中,我们在遍历文件夹时添加了一个判断条件,通过使用file.endswith(file_extension)来筛选出指定类型的文件。在这个例子中,我们只遍历了扩展名为.txt的文件。

四、总结

通过使用递归函数和操作系统模块,我们可以很方便地遍历多个文件夹。在实际应用中,我们可以根据具体需求对文件夹中的文件进行操作,如读取文件内容、修改文件名等。希望本文对你理解Python如何遍历多个文件夹有所帮助。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。