首页 > 解决方案 > StringIO 和实际文件大小之间的文件大小差异

问题描述

我有以下代码

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

标签: pythonstringio

解决方案


因为StringIO不读取文件。您在那里所做的是创建了一个包含该字符串作为其内容的假文件。如果要读取真实文件,请使用open. 如果您想要一些像文件但在内存中使用字符串的东西,请使用StringIO.


推荐阅读