获取StringIO对象的大小(以字节为单位)

时间:2017-04-21 08:59:02

标签: python-2.7 stringio cstringio

是否可以获取 StringIO 对象的字节大小?或者每当我想要它的大小时我应该把它写到磁盘上? 我搜索了很多但没有成功。有 sizeof ()但我不认为这就是我想要的。

我正在迭代文件名列表

temp=StringIO()
    for idx,filename in enumerate(filenames):
        temp.write('something')
        if ((temp.__sizeof__()+os.path.getsize(os.path.join(inputf,filenames[idx])))/1048576.0 >= 128.0):
            (do something)

1 个答案:

答案 0 :(得分:1)

您应该寻求最终并使用tell()

temp.write('something')
temp.seek(0, os.SEEK_END)
if ((temp.tell()+...

示例:

from StringIO import StringIO
import os
temp = StringIO()
temp.write("abc€")
temp.seek(0, os.SEEK_END)
print temp.tell() #6