我必须在Flac中翻录我的cd库来存档它们,并且长篇文章简短地说明了翻录时没有包含音轨编号的文件名,这在我的音频播放器上播放时会丢掉播放列表顺序。
为了省去手动重命名的麻烦我今天早上写了一个小脚本:
import os
from mutagen.flac import FLAC
chemin= r'E:\CD\CdName'
for titre in os.listdir(chemin):
track= FLAC(os.path.join(chemin, titre))
tracknumber = track.tags["tracknumber"]
tracktitle= track.tags["title"]
newtitle= str(tracknumber) + " " + str(tracktitle)
os.rename(os.path.join(chemin,titre),os.path.join(chemin,str(newtitle)))
对不起,这不是最干净的代码,我仍然是python中的新手。
它的目的很好,除了它在曲目标题中具有[' text']格式,这导致类似[' 01'] [' TrackName']用于不方便的文件名。
因此,我想知道是否有可能在曲目名称中删除这种不需要的格式化。
答案 0 :(得分:0)
只需更换字符串即可。
tracktitle = "['01'] ['TrackName']"
tracktitle = tracktitle.replace("[","").replace("]","")
tracktitle = tracktitle.replace("'", "")
这将输出" 01 TrackName"
编辑:
编辑以适应评论
tracktitle = "['01'] ['TrackName']"
tracktitle = tracktitle.replace("'] ['", " ")
tracktitle = tracktitle[2:]
tracktitle = tracktitle[0:-2]
答案 1 :(得分:0)
由于你们所有人都解决了这个问题,我认为在同一案件中人们可能会对这个剧本感兴趣:
import os
from mutagen.flac import FLAC
chemin= r'C:\XXXXX' #your path here
for titre in os.listdir(chemin):
track= FLAC(os.path.join(chemin, titre))
tracknumber = track.tags["tracknumber"]
tracktitle= track.tags["title"]
newtitle= " - ".join([tracknumber.pop(),tracktitle.pop()])+".flac"
newtitle = newtitle.replace("?","")
os.rename(os.path.join(chemin,titre),os.path.join(chemin,str(newtitle)))
ps:我做了一个小编辑,用问号删除了与文件格式不兼容的问题