如何获取子目录名称列表

时间:2015-06-25 11:54:14

标签: python list

有一个目录包含文件夹以及不同格式的文件。

import os 
my_list = os.listdir('My_directory')

将返回文件和文件夹名称的完整内容。例如,我可以使用endswith('.txt')方法来选择文本文件名,但是如何获取只是文件夹名称的列表?

5 个答案:

答案 0 :(得分:16)

在汇总列表时尝试检查目录。

import os
output = [dI for dI in os.listdir('foo') if os.path.isdir(os.path.join('foo',dI))]

答案 1 :(得分:4)

您可以使用os.walk

for i,j,y in os.walk('.'):
    print(i) 

答案 2 :(得分:3)

这应该有效:

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

答案 3 :(得分:2)

只需对os.path.isdir返回的结果使用os.listdir,如:

def listdirs(path):
    return [d for d in os.listdir(path) if os.path.isdir(d)]

答案 4 :(得分:2)

os.walk已将文件和文件夹拆分为不同的列表,并以递归方式工作:

for root,dirs,_ in os.walk('.'):
    for d in dirs:
        print os.path.join(root,d)