Maison > Article > développement back-end > Comment puis-je garantir une représentation Unicode correcte lors de la lecture et de l’écriture de fichiers en Python ?
Lecture et écriture Unicode (UTF-8) dans des fichiers en Python
Lorsque vous travaillez avec des chaînes Unicode en Python, il est essentiel de comprendre le interaction entre les représentations Unicode et l'encodage des fichiers. Un malentendu subtil peut conduire à des résultats inattendus, comme le démontre l'exemple suivant :
Le résultat révèle un écart entre la représentation Unicode de la chaîne et sa forme codée en UTF-8 :
Pour éviter cette confusion, il est crucial de spécifier explicitement l'encodage du fichier lors de la lecture et de l'écriture. Dans Python 2.6 et versions ultérieures, le module io fournit une fonction io.open qui permet de spécifier l'encodage :
Avec cette approche, f.read() renvoie un objet Unicode décodé :
Dans Python 3.x, la fonction io.open est un alias pour la fonction open intégrée, qui prend également en charge l'argument d'encodage. Une autre option consiste à utiliser le module codecs :
Cependant, sachez que mélanger read() et readline() peut entraîner des problèmes lors de l'utilisation du module codecs. En spécifiant explicitement l'encodage lors de la lecture et de l'écriture de fichiers, vous vous assurez que les chaînes Unicode sont représentées et décodées correctement, évitant ainsi les pièges potentiels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!