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.
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")
Par exemple :
from io import StringIO s = StringIO() s.write("Yes\nYEs") s.seek(0) # 将指针拨回到开始位置,否则将会读取不到任何东西 content = s.read() print content
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.
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
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 !