如何列出目录下的所有文件,以及顶级目录的所有子目录?

问题描述 投票:0回答:1

如何编写一个函数来列出目录中的所有文件,包括所有可能的子目录中的所有文件?

例如,如果初始目录是

/example
,如何递归获取该目录内所有文件以及
/example
的所有子目录的列表?

不应包含目录名称本身,仅应包含文件。

python python-3.x
1个回答
0
投票

这是一种基于

os.scandir
的可能方法。

import os

def get_list_of_files_in_directory(dirname: str):
    files = []
    for f in os.scandir(dirname):
        if f.is_dir():
            files.extend(get_list_of_files_in_directory(f.path))
        if f.is_file():
            files.append(f.path)
    return files


def main():
    base_path = '/example'
    files = get_list_of_files_in_directory(base_path)
    for file in files:
        print(f'found file {file}')

它将列出目录中的所有文件以及该目录的所有子目录,不包括目录本身。

© www.soinside.com 2019 - 2024. All rights reserved.