python文件般的缓冲对象

djs*_*djs 15 python io buffer

我写了一个缓冲类,它提供了类似文件的接口read,write,seek,tell,flush方法,在内存中一个简单的字符串.当然它是不完整的(例如我没有写readline).它的目的是由来自某些外部数据源的后台线程填充,但让用户将其视为文件.我希望它包含相对少量的数据(最多50K)

有没有更好的方法来做到这一点,而不是从头开始编写?

Tri*_*ych 21

您可以使用标准Python模块StringIOcStringIO获取实现文件接口的内存缓冲区.

cStringIO 在C中实现,并且速度更快,因此如果可能,您应该使用该版本.

如果你使用的是Python 3,你应该使用io.StringIO,而不是StringIOio.BytesIO代替cStringIO.

  • 这不会使它成为线程安全的.如果确实如此,那么我们就不需要单核处理器上的线程安全性. (9认同)

Ran*_*ris 6

我想你可能在寻找StringIO.