我试图根据元数据重命名我的媒体文件名。在
文件名格式为song name - artist name
import os
from tinytag import TinyTag
import re
for root, dirs, files in os.walk("C:/Users/username/Desktop/Music/"):
for name in files:
tag = TinyTag.get(root + "\\" + name)
if tag.artist != "":
if name.endswith((".mp3",".m4a")):
# try:
file_ext = os.path.splitext(name)[-1]
old_name = os.path.join(root, name)
new_name = re.sub(' +', ' ', os.path.join(root, tag.title + " - " + tag.artist + file_ext))
print(new_name)
os.rename(old_name, new_name)
# except:
# pass
除了王子的红色小巡洋舰外,所有文件都能正常工作:
^{pr2}$值误差是什么意思?我注意到在克尔维特后有一个额外的空间。我确实在代码中使用了re.sub
来修改文件名。在
暂时忽略try, except
,因为代码确实可以处理它。我可以手动更改文件名,因为这是850首歌曲中唯一的一首,但我想知道,以便于将来理解。在
顺便说一句,这是我第一个有用的代码!优化评论是最受欢迎的。在
你能试着更换这些线路吗
用这些线
^{pr2}$谢谢
相关问题 更多 >
编程相关推荐