搜索
您的当前位置:首页正文

python 通过递归遍历获取到文件夹下所有子文件以及子文件夹中的文件的位置

来源:榕意旅游网

1、通过递归的方式获取某个文件夹下的所有文件以及其子文件夹下所有文件的位置

def recursion_dir_all_file(path):
    '''
    :param path: 文件夹目录
    '''
    file_list = []
    for dir_path, dirs, files in os.walk(path):
        for file in files:
            file_path = os.path.join(dir_path, file)
            if "\\" in file_path:
                file_path = file_path.replace('\\', '/')
            file_list.append(file_path)
        for dir in dirs:
            file_list.extend(recursion_dir_all_file(os.path.join(dir_path, dir)))
    return file_list

2、第二种方式

通过pathlib.Path.rglob(pattern):这个方法的作用是将Path对象下的符合pattern(正则表达式、通配符)的所有文件获取到,返回一个生成器,可以通过for遍历或者next去获取详细的文件位置

from pathlib import Path

if __name__ == '__main__':
    p = Path()
    print(p)
    for path in p.rglob("*"):
        print(path)

因篇幅问题不能全部显示,请点此查看更多更全内容

Top