获取当前目录中所有子目录的列表

新手上路,请多包涵

有没有办法在 Python 中返回当前目录中所有子目录的列表?

我知道您可以对文件执行此操作,但我需要获取目录列表。

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

阅读 422
2 个回答

您是指直接子目录,还是树下的每个目录?

无论哪种方式,您都可以使用 os.walk 来执行此操作:

 os.walk(directory)

将为每个子目录生成一个元组。三元组中的第一个条目是目录名,所以

[x[0] for x in os.walk(directory)]

应该递归地给你所有的子目录。

请注意,元组中的第二个条目是第一个位置的条目的子目录列表,因此您可以使用它来代替,但这不太可能为您节省太多。

但是,您可以使用它来为您提供直接子目录:

 next(os.walk('.'))[1]

或者查看已经发布的其他解决方案,使用 os.listdiros.path.isdir ,包括“ 如何在 Python 中获取所有直接子目录”中的解决方案。

原文由 Blair Conrad 发布,翻译遵循 CC BY-SA 3.0 许可协议

你可以只使用 glob.glob

 from glob import glob
glob("/path/to/directory/*/", recursive = True)

不要忘记 / *

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

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