有一个目录包含文件夹以及不同格式的文件。
import os
my_list = os.listdir('My_directory')
将返回文件和文件夹名称的完整内容。例如,我可以使用endswith('.txt')
方法来选择文本文件名,但是如何获取只是文件夹名称的列表?
答案 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)