Comment lire et écrire des fichiers Unicode en Python : un guide d'encodage et de décodage ?

DDD
Libérer: 2024-11-05 13:29:02
original
816 Les gens l'ont consulté

How to Read and Write Unicode Files in Python: A Guide to Encoding and Decoding?

Lecture et écriture Unicode (UTF-8) dans des fichiers en Python

En Python, gérer Unicode dans les fichiers peut être délicat. Explorons quelques malentendus courants et trouvons des solutions élégantes.

Comprendre les codages Unicode

Les chaînes Python sont des objets Unicode qui codent des caractères à l'aide de divers codages de caractères, comme UTF-8. Lors de l’écriture d’une chaîne dans un fichier, nous devons décider comment l’encoder. L'encodage 'utf8' convertit les caractères Unicode en une séquence d'octets.

Ouverture de fichiers avec un encodage spécifié

Plutôt que de s'appuyer sur .encode et .decode, il est préférable de spécifiez l'encodage lors de l'ouverture du fichier. Dans Python 2.6 et versions ultérieures, le module io fournit à io.open un paramètre d'encodage. Dans Python 3.x, la fonction open intégrée prend également en charge cela.

<code class="python">import io
f = io.open("test", "r", encoding="utf-8")</code>
Copier après la connexion

Cela ouvrira le fichier en mode UTF-8 et f.read() renverra un objet Unicode décodé.

Utilisation du module codecs

Alternativement, nous pouvons utiliser open depuis le module codecs.

<code class="python">import codecs
f = codecs.open("test", "r", "utf-8")</code>
Copier après la connexion

Mélanger read() et readline () avec les codecs

Mélanger read() et readline() lors de l'utilisation de codecs peut causer des problèmes. Il est préférable d'utiliser readlines(), qui renvoie une liste de chaînes Unicode, évitant ainsi les problèmes d'encodage.

Conclusion

Pour lire et écrire efficacement des fichiers texte Unicode en Python, spécifiez l'encodage lors de l'ouverture des fichiers à l'aide de io.open ou codecs.open. Cela garantit que les caractères Unicode sont correctement traités et représentés comme prévu.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal