ファイル名の特殊文字を置き換える必要があります。私は今、翻訳でこれを試していますが、それはあまりうまく機能していません。あなたがこれを行うためのアイデアを得たことを願っています。明確なプレイリストを作成するために、iveは私の車にmp3の悪いプレーヤーを入れましたが、これはumlauteまたはspecialcharsを実行できません。
これまでの私のコード
# -*- coding: utf-8 -*-
import os
import sys
import id3reader
pfad = os.path.dirname(sys.argv[1])+"/"
ordner = ""
table = {
0xe9: u'e',
0xe4: u'ae',
ord(u'ö'): u'oe',
ord(u'ü'): u'ue',
ord(u'ß'): u'ss',
0xe1: u'ss',
0xfc: u'ue',
}
def replace(s):
return ''.join(c for c in s if (c.isalpha() or c == " " or c =="-") )
fobj_in = open(sys.argv[1])
fobj_out = open(sys.argv[1]+".new","w")
for line in fobj_in:
if (line.rstrip()[0:1]=="#" or line.rstrip()[0:1] ==" "):
print line.rstrip()[0:1]
else:
datei= pfad+line.rstrip()
#print datei
id3info = id3reader.Reader(datei)
dateiname= str(id3info.getValue('performer'))+" - "+ str(id3info.getValue('title'))
#print dateiname
arrPfad = line.split('/')
dateiname = replace(dateiname[0:60])
print dateiname
# dateiname = dateiname.translate(table)+".mp3"
ordner = arrPfad[0]+"/"+dateiname
# os.rename(datei,pfad+ordner)
fobj_out.write(ordner+"\r\n")
fobj_in.close()
このエラーが発生します:UnicodeEncodeError:'ascii'コーデックは37桁目の文字u'\ xfc'をエンコードできません:序数が範囲内にありません(128) id3titleで変換を使用しようとすると、TypeErrorが発生します:文字バッファーが必要です物体