嵌套的glob目录列表未正确返回

时间:2012-04-02 22:38:27

标签: python windows-7 glob id3

我正在尝试修复通过目录树结构传播的(3500+)音乐文件中相当数量的Id3专辑/艺术家标签:

"Winamp Library/Artist Name/Album Name/Song.(mp3/flac/whatever)"

此代码仅在基础“Winamp Library”目录中打印艺术家姓名列表,我做错了什么?

for artist in glob.glob('Winamp Library/*'):
    print(artist)
    for album in glob.glob('Winamp Library/' + artist+  '/*'):
        print (album)

输出继电器:

Winamp Library\Artist 1
Winamp Library\Artist 2

当输出应为:

Winamp Library\Artist 1
Winamp Library\Artist 1\Album1
Winamp Library\Artist 1\Album2
Winamp Library\Artist 2
etc

1 个答案:

答案 0 :(得分:0)

当你得到glob结果时,它将包含你给出的模式的一部分,所以你真的试图匹配第二个glob:

'Winamp Library/Winamp Library/<ARTIST>/*'

我怀疑你想要更像的东西:

for artist in glob.glob('Winamp Library/*'):
    print(artist)
    for album in glob.glob(artist + '/*'):
        print (album)

请注意,glob也可以同时执行多个级别,因此您可以在'Winamp Library/*/*'上进行全局操作。