从文件中删除['']格式

时间:2017-06-05 10:28:04

标签: python renaming mutagen

我必须在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']用于不方便的文件名。

因此,我想知道是否有可能在曲目名称中删除这种不需要的格式化。

2 个答案:

答案 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:我做了一个小编辑,用问号删除了与文件格式不兼容的问题