我尝试编写一个脚本而不是扫描递归给定目录,如果找到mp3获取并只为它打印元标记。我通过getEyeD3Tag得到了一个例外。这是我到目前为止编写的代码
def getEyeD3Tags(path):
try:
trackInfo = eyeD3.Mp3AudioFile(path)
tag = trackInfo.getTag()
tag.link(path)
print tag.getArtist()
print tag.getAlbum()
print tag.getTitle()
#return (tag.getArtist(),tag.getTitle(),tag.getAlbum())
except eyeD3.InvalidAudioFormatException:
print "File %s is not a mp3 file " % path
mp3Num=0
temp=os.walk(valid-folder-name)
for root, dirs, files in temp:
for i in files:
if os.path.join(root,i):
temp=os.path.splitext(i)
temp[1].lower()
if temp[1]=='.mp3':
mp3Path=os.path.join(root,i)
print mp3Path
getEyeD3Tags(mp3Path)
mp3Num+=1
raw_input()
#print "**"
else:
print "Error invalid path"
print "\n\n"
#raw_input()
print mp3Num
raw_input()
BTW是一种使用eyeD3获取mp3文件类型的方法吗? Thx提前
答案 0 :(得分:2)
要检查正在解析的文件是否是有效的mp3,请调用eyeD3.isMp3File( filename )方法。
以下是我用来自动排序音乐文件夹的简短脚本。
def parseIDETag(self, path):
if eyeD3.isMp3File(path):
这样,如果文件不是mp3,它就会跳过它。
此外,str(tag.getGenre())
使用eyeD3将该类型作为字符串返回。