📜  获取多个目录中的所有文件 python (1)

📅  最后修改于: 2023-12-03 14:57:14.193000             🧑  作者: Mango

获取多个目录中的所有文件

在Python中,我们可以通过一些操作系统模块和库实现获取多个目录中的所有文件。本文将会介绍一些较为常见的方法。

方法一:使用os模块实现
import os

def get_files(path):
    file_list = []
    for dirpath, dirnames, filenames in os.walk(path):
        for filename in filenames:
            file_list.append(os.path.join(dirpath, filename))
    return file_list

使用os.walk()方法递归遍历整个目录树,并且返回3个值,分别是遍历到的路径、文件夹名称列表和文件名称列表,然后使用os.path.join()方法将路径和文件名组成一个完整的文件路径,最终返回该目录下所有文件的列表。

方法二:使用Pathlib模块实现
from pathlib import Path

def get_files(path):
    file_list = []
    for filepath in Path(path).rglob('*'):
        if filepath.is_file():
            file_list.append(str(filepath))
    return file_list

使用Pathlib模块的rglob()方法递归地遍历整个目录树,然后使用is_file()方法判断该路径是文件还是目录,如果是文件,则加入到列表中。

总结

本文针对Python获取多个目录中所有文件的需求,介绍了使用os和Pathlib两种方法实现。其中,os使用了递归遍历方式,而Pathlib则使用rglob方法。具体使用哪种方式,取决于使用者的编程习惯和项目需求。

以上代码片段均返回Markdown格式,可以直接复制到Markdown编辑器中使用。