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

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

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


你的意思是直接的子目录,或者树上的每个目录?

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

os.walk(directory)

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

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

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

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

但是,你可以使用它来给你直接的子目录:

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

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


import os

d = '.'
[os.path.join(d, o) for o in os.listdir(d) 
                    if os.path.isdir(os.path.join(d,o))]

你可以使用glob.glob

from glob import glob
glob("/path/to/directory/*/")

不要忘记尾部/后面的*

链接地址: http://www.djcxy.com/p/3371.html

上一篇: Getting a list of all subdirectories in the current directory

下一篇: When to use GlueList over ArrayList or LinkedList?