我正在尝试创建所有 mp3 文件的字典,其中键是 mp3 文件名,值是该文件的文件路径。

我做:

for root, dirs, files in os.walk(rootDir, topdown='true'):
    source_files_now = {filename:root for filename in files if filename[-4] == '.mp3'}
    print(source_files_now);

但是字典 source_files_now 最终是空的。

目录中有明确的 mp3 文件。

有任何想法吗?

最佳答案

filename[-4] == '.mp3' 检查倒数第三个字符是否为 '.mp3' 。这真的没有意义。

只需使用 .endswith() :

filename.endswith('.mp3')

如果要修复代码,请对字符串进行切片,以便切片包含其他字符:
filename[-4:] == '.mp3'

在比较之前,我还会将文件名转换为小写。您最终可能会跳过全部大写的文件名。

关于python - 从 os.walk 创建字典理解,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14967977/

10-16 08:46