我目前的目录结构如下:
/Users/user/dir/image.png
/Users/user/dir/sample.txt
/Users/user/dir/nested_dir/dir/dir/file.txt
/Users/user/dir/nested_dir1/dir2/dir3/file2.txt
我的目标是递归地挖掘每个目录中的所有内容,以获取我需要的特定文件。问题是,我还想在执行递归搜索时捕获“image.png”以及任何其他非目录的文件类型
以下是我目前拥有的:
for file in Path('/Users/user/dir').glob('**/'):
print(f'file:{file}')
然后,这将生成每个文件和文件夹,一直到最后,但不显示目录以外的项目(image.py、sample.txt)。我还想捕捉这些信息,以便以后使用。建议
此外,我还尝试了以下方法:
for file in Path('/Users/user/dir').glob('*/'):
这确实给了我我想要的项目,但是嵌套递归不起作用,只给了我顶层目录
考虑使用{a1}:
您可以使用路径的rglob() method:
如果您只需要具有某种后缀的文件,请使用
.rglob('*.*')
使用
**/*
作为模式:这里有[Python.Docs]: pathlib - Path.glob(pattern)供参考
相关问题 更多 >
编程相关推荐