我已经编写了一个缓冲区类,它为内存中的一个简单字符串提供了一个类似文件的接口,方法有readwriteseektell等。当然,它是不完整的(例如,我没有写)。它的目的是由来自一些外部数据源的后台线程填充,但让用户将其视为一个文件。我希望它包含的数据量相对较小(最大可能为50K)
有没有更好的方法来代替从头开始写呢?

最佳答案

您可以使用标准的python模块StringIOcStringIO来获得实现file interface的内存缓冲区。
cStringIO是在c中实现的,并且速度更快,因此如果可能,您应该使用该版本。
如果您使用的是python 3,那么应该使用io.StringIO而不是StringIOio.BytesIO而不是cStringIO

10-01 14:44