列出所有目录并存储到列表或字典中

时间:2018-07-06 06:01:19

标签: python

我可以使用以下代码列出目录和文件

for root, dirs, files in os.walk(startpath):
    level = root.replace(startpath, '').count(os.sep)
    indent = ' ' * 4 * (level)
    print('Directory -> {}{}/'.format(indent, os.path.basename(root)))
    subindent = ' ' * 4 * (level + 1)
    for f in files:
        if not f.startswith('.'):
            print('file -> {}{}'.format(subindent, f))

我只需要将目录和嵌套目录以某种格式存储,以便可以在UI Sample folder tree上显示出来

1 个答案:

答案 0 :(得分:0)

使用os.listdir()包中的os函数列出您所在位置的所有文件和目录。

import os
onlyfiles = [f for f in os.listdir(mypath) if os.path.isfile(os.path.join(mypath, f))]
onlydir = [dir for dir in os.listdir(mypath) if os.path.isdir(os.path.join(mypath, dir))]

然后,您可以使用os.chdir(onlydir[i])切换到其他目录,在其中您可以执行相同的操作来收集所有文件和目录。