53 votes

En Python, comment puis-je vérifier la taille d'un objet StringIO?

Et obtenir les octets de cet objet StringIO?

78voto

Glenn Maynard Points 24451

StringIO objets de mettre en œuvre le fichier API, de sorte que vous pouvez obtenir leur taille exactement de la même manière que vous pouvez avec un file objet: chercher à la fin et de voir où il va.

from StringIO import StringIO
import os
s = StringIO()
s.write("abc")
s.seek(0, os.SEEK_END)
print s.tell()

Comme Kimvais mentionne, vous pouvez également utiliser l' len, mais notez que c'est spécifique à StringIO objets. En général, l'une des principales raisons d'utiliser ces objets, en premier lieu, est de les utiliser avec le code qui s'attend à un fichier objet semblable. Lorsque vous faites affaire avec un fichier générique-comme l'objet, en général, vous voulez faire de la ci-dessus pour obtenir sa longueur, depuis qui fonctionne avec tout fichier-comme l'objet.

22voto

Kimvais Points 12453

En vérifiant l'attribut len et en utilisant la méthode getvalue ()

 Type "help", "copyright", "credits" or "license" for more information.
>>> import StringIO
>>> s = StringIO.StringIO()
>>> s.write("foobar")
>>> s.len
6
>>> s.write(" and spameggs")
>>> s.len
19
>>> s.getvalue()
'foobar and spameggs'
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X