Is there a way to return a list of all the subdirectories in the current directory in python?
I know you can do this with files, but I need to get the list of directories instead.
Is there a way to return a list of all the subdirectories in the current directory in python?
I know you can do this with files, but I need to get the list of directories instead.
Do you mean immediate subdirectories, or every directory right down the tree?
Either way, you could use os.walk to do this:
os.walk(directory)
will yield a tuple for each subdirectory. Ths first entry in the 3-tuple is a directory name, so
[x[0] for x in os.walk(directory)]
should give you all of the directories.
Note that the 2nd entry in the tuple is the list of child directories of the entry in the 1st position, so you could use this instead, but it's not likely to save you much.
However, you could use it just to give you the immediate child directories:
os.walk('.').next()[1]
Or see the other solutions already posted, using os.listdir and os.path.isdir, including those at get all of the immediate subdirectories in python.
If you need a recursive solution that will find all the subdirectories in the subdirectories, use walk as proposed before.
If you only need the current directory's child directories, combine os.listdir
with os.path.isdir
import os
import os.path
[o for o in os.listdir('.') if os.path.isdir(o)]