Python folder names in the directory

You can use os.listdir() here a link to the docs

Warning returns files and directories

example:

import os

path = 'pyth/to/dir/'
dir_list = os.listdir(path)

update: you need to check if the returned names are directories or files

import os

path = 'pyth/to/dir/'
# list of all content in a directory, filtered so only directories are returned
dir_list = [directory for directory in os.listdir(path) if os.path.isdir(path+directory)]

You can use os.walk()

# !/usr/bin/python

import os

directory_list = list()
for root, dirs, files in os.walk("/path/to/your/dir", topdown=False):
    for name in dirs:
        directory_list.append(os.path.join(root, name))

print directory_list

EDIT

If you only want the first level and not actually "walk" through the subdirectories, it is even less code:

import os

root, dirs, files = os.walk("/path/to/your/dir").next()
print dirs

This is not really what os.walk is made for. If you really only want one level of subdirectories, you can also use os.listdir() like Yannik Ammann suggested:

root='/path/to/my/dir'
dirlist = [ item for item in os.listdir(root) if os.path.isdir(os.path.join(root, item)) ]
print dirlist

Starting with Python 3.4, you can also use the new pathlib module:

from pathlib import Path

p = Path('some/folder')
subdirectories = [x for x in p.iterdir() if x.is_dir()]

print(subdirectories)

Tags:

Python