使用 pathlib 递归遍历所有子目录

新手上路,请多包涵

如何使用 pathlib 递归迭代给定目录的所有子目录?

 p = Path('docs')
for child in p.iterdir(): child

似乎只遍历给定目录的直接子目录。

我知道这是可能的 os.walk()glob ,但我想使用 pathlib 因为我喜欢使用路径对象。

原文由 Oblomov 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

您可以使用 Path 对象的 glob 方法:

 p = Path('docs')
for i in p.glob('**/*'):
     print(i.name)

原文由 Jacques Gaudin 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 Path.rglob (替换领先的 **Path().glob("**/*") ):

 path = Path("docs")
for p in path.rglob("*"):
     print(p.name)

原文由 pylang 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题