我有一个文件可能位于每个用户机器上的不同位置。有没有办法实现对文件的搜索?一种可以传递文件名和目录树进行搜索的方法?
原文由 directedition 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个文件可能位于每个用户机器上的不同位置。有没有办法实现对文件的搜索?一种可以传递文件名和目录树进行搜索的方法?
原文由 directedition 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Python 3.4 或更新版本中,您可以使用 pathlib 进行递归 globbing:
>>> import pathlib
>>> sorted(pathlib.Path('.').glob('**/*.py'))
[PosixPath('build/lib/pathlib.py'),
PosixPath('docs/conf.py'),
PosixPath('pathlib.py'),
PosixPath('setup.py'),
PosixPath('test_pathlib.py')]
参考: https ://docs.python.org/3/library/pathlib.html#pathlib.Path.glob
在 Python 3.5 或更新版本中,您还可以像这样进行递归通配:
>>> import glob
>>> glob.glob('**/*.txt', recursive=True)
['2.txt', 'sub/3.txt']
参考: https ://docs.python.org/3/library/glob.html#glob.glob
原文由 Kenyon 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
os.walk 是答案,这将找到第一个匹配项:
这将找到所有匹配项:
这将匹配一个模式: