Python从目录和子目录打印文件名和扩展名

时间:2014-12-06 19:08:18

标签: python file printing directory filenames

您好我正在尝试编写一个python脚本,可以查看目录和子目录,并提取文件名和扩展名并将其列在文件中。感谢您的时间。 示例输出:

Artist
 Album name
  song.mp3
  song.wav
  song.aiff

文件存储为艺术家,专辑{可能在这里很多},歌曲{每张专辑}

我目前正试图通过以下方式开始:

import os

for dirname, dirnames, filenames in os.walk('.'):

    for subdirname in dirnames:
        print os.path.join(dirname, subdirname)


    for filename in filenames:
        print os.path.join(dirname, filename)

1 个答案:

答案 0 :(得分:0)

您可以通过计算基目录中的路径分隔符来跟踪您在树上走了多远。

import os

def scan_this(path):
    path = os.path.abspath(path)
    sep_count = path.count(os.path.sep) + 1

    for root, dirnames, filenames in os.walk(path):
        nest_count = root.count(os.path.sep) - sep_count
        if nest_count <= 1:
            print '%s%s' % ('  ' * nest_count, os.path.basename(root))
            if nest_count == 1:
                for f in filenames:
                    print '%s%s' % ('  ' * (nest_count + 1), f)

scan_this('.')