Dans un fichier texte (test.txt), ma chaîne ressemble à ceci:Chaîne d'entrée de fichier Python: comment gérer les caractères Unicode échappés?
Gro\u00DFbritannien
lisant, python échappe à la barre oblique inverse:
>>> file = open('test.txt', 'r')
>>> input = file.readline()
>>> input
'Gro\\u00DFbritannien'
Comment puis-je avoir cette interprété comme unicode? decode()
et unicode()
ne fera pas le travail.
Le code suivant écrit Gro\u00DFbritannien
dans le fichier, mais je veux que ce soit Großbritannien
>>> input.decode('latin-1')
u'Gro\\u00DFbritannien'
>>> out = codecs.open('out.txt', 'w', 'utf-8')
>>> out.write(input)
Si vous souhaitez sérialiser des objets Unicode Python dans un fichier, pourquoi ne pas essayer d'utiliser le module 'cPickle'? – rlotun
Les données proviennent de http://downloads.dbpedia.org/3.5.1/de/persondata_de.nt.bz2 Utilisation de Python 2.6 – Michi