Maison > développement back-end > Tutoriel Python > notes d'étude python - StringIO et BytesIO

notes d'étude python - StringIO et BytesIO

高洛峰
Libérer: 2017-02-17 11:50:34
original
1643 Les gens l'ont consulté

Ce dont nous avons parlé auparavant, c'était de lire et d'écrire de vrais fichiers. En fait, on peut également virtualiser un fichier en mémoire pour la lecture et l'écriture. Les modules officiels fournis par Python sont io.StringIO et io.BytesIO.

io.StringIO

String IO est utilisé pour lire et écrire des chaînes en mémoire. StringIO peut être initialisé en passant un caractère. Par exemple :

string = StringIO("This is Demo")
Copier après la connexion

Par exemple :

from io import StringIO

s = StringIO()
s.write("Yes\nYEs")
s.seek(0)
# 将指针拨回到开始位置,否则将会读取不到任何东西

content = s.read()
print content
Copier après la connexion

StringIO crée un objet de type fichier qui possède toutes les méthodes de File Object. StringIO dispose également de deux méthodes spéciales, à savoir la méthode getvalue() et la méthode close(). La méthode

  • getvalue() est utilisée pour obtenir le contenu écrit dans StringIO. La méthode

  • close() ferme StringIO et libère de la mémoire.

io.BytesIO

StringIO ne peut traiter que les données de type chaîne, et BytesIO peut être utilisé pour traiter les données de type binaire. L'utilisation de BytesIO est similaire à StringIO

StringIO.StringIO

Lors de la recherche de documents, j'ai découvert qu'il existe également un StringIO sous StringIO, et les deux sont très similaires. J'ai tout cherché sur Google. Il y a une réponse sur stackoverflow :

Un flux en mémoire pour le texte Unicode. Il hérite de TextIOWrapper.

Ce module implémente une classe de type fichier, StringIO, qui lit et écrit un tampon de chaîne. (également appelés fichiers mémoire).io.StringIO est une classe. Elle gère Unicode. Elle reflète la structure de bibliothèque Python 3 préférée.

StringIO.StringIO est une classe. Elle reflète l'ancien Python. 2 structure de bibliothèque.

Qu'est-ce qui devrait être préféré ?Allez toujours de l'avant vers la nouvelle organisation de la bibliothèque. Le io.open doit être utilisé pour remplacer l'ouverture intégrée non compatible avec Unicode.

En avant. Avancez.

L'idée générale est que StringIO est l'héritage de python2 et sera remplacé par io.StringIO à l'avenir. Il est recommandé d'utiliser io.StringIO.


.

Plus de notes d'étude sur Python - Pour les articles liés à StringIO et BytesIO, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
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