我编写了一个缓冲类,它提供了一个类似于文件的界面,其中包含read
,write
,seek
,tell
,flush
方法内存中的简单字符串。当然它不完整(例如我没有写readline
)。它的目的是由来自某些外部数据源的后台线程填充,但让用户将其视为文件。我希望它包含相对少量的数据(可能最多50K)
有没有更好的方法来做到这一点而不是从头开始编写?
答案 0 :(得分:20)
您可以使用标准Python模块StringIO
或cStringIO
来获取实现file interface的内存缓冲区。
cStringIO
在C中实现,并且速度更快,因此如果可能,您应该使用该版本。
如果您使用的是Python 3,则应使用io.StringIO
代替StringIO
和io.BytesIO
代替cStringIO
。
答案 1 :(得分:6)
我想你可能正在寻找StringIO
。