首页 > 编程知识 正文

Python文件操作之遍历目录

时间:2023-11-20 08:44:18 阅读:304061 作者:MAMT

本文将详细介绍使用Python进行文件操作中的目录遍历功能。

一、获取文件列表

在进行目录遍历时,首先需要获取目录下的所有文件列表。Python提供了os模块来完成这一任务。

import os

def get_file_list(directory):
    file_list = []
    for root, dirs, files in os.walk(directory):  # 使用os.walk()函数遍历目录
        for file in files:
            file_list.append(os.path.join(root, file))  # 将文件的绝对路径添加到列表中
    return file_list

# 示例代码
directory = '/path/to/directory'
file_list = get_file_list(directory)
print(file_list)

以上代码中,我们定义了一个get_file_list()函数,该函数接受一个目录路径作为参数,然后使用os.walk()函数遍历目录,获取目录下所有文件的绝对路径,并将其存储在一个列表中。最后打印该列表。

你可以将directory替换成你想要遍历的目录路径。

二、筛选文件

在获取到文件列表后,你可能只需要一部分特定类型的文件。可以使用文件名的后缀或其他标识进行筛选。

import os

def get_filtered_file_list(directory, extension):
    file_list = []
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith(extension):  # 判断文件后缀是否符合要求
                file_list.append(os.path.join(root, file))
    return file_list

# 示例代码
directory = '/path/to/directory'
extension = '.txt'
file_list = get_filtered_file_list(directory, extension)
print(file_list)

以上代码中,我们创建了一个get_filtered_file_list()函数,该函数接受一个目录路径和文件后缀作为参数。在遍历目录时,我们使用file.endswith(extension)来判断文件的后缀是否符合要求,如果符合,则将文件的绝对路径添加到列表中。

你可以将directoryextension替换成你想要的目录路径和文件后缀。

三、递归遍历子目录

有时候,我们不仅需要遍历当前目录,还需要递归地遍历其所有子目录。可以使用os.walk()函数来实现。

import os

def recursive_file_traversal(directory):
    file_list = []
    for root, dirs, files in os.walk(directory):
        for file in files:
            file_list.append(os.path.join(root, file))
    return file_list

# 示例代码
directory = '/path/to/directory'
file_list = recursive_file_traversal(directory)
print(file_list)

以上代码中,我们只修改了函数名为recursive_file_traversal(),其余代码与获取文件列表的代码相同。使用os.walk()函数遍历目录时,会自动遍历子目录。

你可以将directory替换成你想要遍历的目录路径。

总结

本文介绍了如何使用Python进行文件操作中的目录遍历功能。通过以上代码示例,你可以灵活地获取目录下的所有文件列表,根据需要筛选特定类型的文件,并且可以递归遍历子目录。

希望本文对你理解和使用Python中的目录遍历功能有所帮助。

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