检查 mp3 文件是否在给定目录中

Check if mp3 file is in given directory

我看不出我做错了什么

import os

def check():
    path = "d://Mu$ic//"
    for file in os.listdir(path):
        if file.endswith("*.mp3"):
            print (os.path.join(path,file))

check()

输出没有显示,知道我做错了什么吗?

省略 * 应该有效,因为 endswith 匹配字符串后缀(与通配符 *.mp3 相反):

file.endswith(".mp3"):

此外,您可以将 // 替换为 /

文件夹里只有mp3文件吗?如果是这样,为什么需要检查 endswith?如果 mp3 是该文件夹中唯一的文件类型,它应该能够 return 它们而不检查它们是否以 .mp3 结尾。除非你有其他文件类型,否则你需要 endswith 检查。我在这里没有结束地编写了你的​​代码,它 return 编辑了文件夹中的每个 .wav 文件。

如果你用的是python3,你也可以用glob

import glob

_path = '{0}**/*.mp3'.format("d://Mu$ic//")
file_lst = glob.glob(_path, recursive=True)
print(file_lst)

['2.mp3', '3.mp3', ...]