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

2022-09-05 01:18:13

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

我知道你可以用文件来做这件事,但我需要获取目录列表。


答案 1

您的意思是直接子目录,还是树上的每个目录?

无论哪种方式,你都可以使用os.walk来做到这一点:

os.walk(directory)

将为每个子目录生成一个元组。3 元组中的第一个条目是目录名称,因此

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

应该以递归方式为您提供所有子目录。

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

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

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

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


答案 2

你可以使用glob.glob

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

不要忘记 后面的尾随。/*