我正在尝试创建所有 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/