问题描述
import StringIO
import os
output = StringIO.StringIO("c:/temp/file.txt")
position = output.tell()
output.seek(0,os.SEEK_END)
size = output.tell()
output.seek(position,os.SEEK_SET)
print size
显示大小为 22 但是当我运行以下时,它显示大小为 607011L
os.stat("c:/temp/file.txt")).st_size
有没有办法将 22 从 StringIO 大小转换为文件的实际大小 607011L
解决方法
因为 StringIO
不读取文件。您在那里所做的是创建了一个包含该字符串作为其内容的假文件。如果要读取真实文件,请使用 open
。如果您想要一些类似于文件但在内存中使用字符串的内容,请使用 StringIO
。