16

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

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

4

2 回答 2

24

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

cStringIO是用 C 实现的,并且会更快,所以如果可能的话,你应该使用那个版本。

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

于 2009-09-02T15:04:48.050 回答
6

我想你可能正在寻找StringIO.

于 2009-09-02T15:04:57.927 回答