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