使用手术室步行在目录下查找具有特定文件扩展名的文件夹

2024-09-25 08:42:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要遍历我的所有文件夹,以找到具有特定扩展名的文件的文件夹的文件路径(例如,我们将说.txt)。 我不知道文件夹是在树的顶部还是底部。在

例如,我们从:

OneDrive/Documents/project/SourceCode

包含所有.txt文件的文件夹可以在OneDrive/Documents/project/SourceCode/TxtFiles中,也可以在OneDrive/Documents/project/TxtFiles中,也可以在项目文件之后。在

如何找到文件路径?我试过使用os.walk,但是我对它的工作原理还没有足够的了解。最后,我将把所有的.txt文件放入一个巨大的列表中。在


Tags: 文件项目路径txtproject文件夹列表os
2条回答

我建议使用pathlib

from pathlib import Path

base_path = Path('base/path/to/search/from')
text_file = next(base_path.glob('**/*.txt'))
parent_dir = text_file.parent.resolve()
from pathlib import Path
from pprint import pprint
import os

def find_files_of_ext(root, ext):
    return [str(Path(dir, file_)) for dir, subdir, files in os.walk(root) for file_ in files if Path(file_).suffix == ext]


filepaths = find_files_of_ext('C:/Users/username/OneDrive', '.jpeg' )
pprint(filepaths)

相关问题 更多 >