在Python中,如何检查StringIO对象的大小?

时间:2011-01-13 06:31:44

标签: python

获取StringIO对象的字节?

2 个答案:

答案 0 :(得分:59)

StringIO个对象实现了文件API,因此您可以使用与file对象完全相同的方式获取其大小:寻找最终并查看它的位置。

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

正如Kimvais所提到的,您也可以使用len,但请注意,这是特定于StringIO对象的。通常,首先使用这些对象的一个​​主要原因是将它们与需要类文件对象的代码一起使用。当您处理类似通用文件的对象时,通常需要执行上述操作以获取其长度,因为它适用于任何类文件对象。

答案 1 :(得分:18)

检查 len 属性并使用 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'