首页 > 解决方案 > 如何使用具有独立读写指针的StringIO?

问题描述

在我的 Python 程序和线程中,我不断地异步地从嵌入式设备获取原始字节缓冲区(实际上是日志输出)。转换后,它是一个包含换行符的 ascii 字符串。

在同一个程序中,我想不时地将它作为主线程中的行来使用。

io.StringIO为此选择了换行符,换行符拆分并具有不错的readline界面。

在我的线程中,我正在调用write()StringIO 对象,并且主线程会不时消耗行(通过readline()

但是,StringIO 类的行为不像 FIFO 或 Ringbuffer。它没有单独的读写指针。

在 readline() 之前,我必须将文件点移回最后一个读取位置,并在完成后移回末尾,以便写入正确附加。

考虑到并发访问等,我可以使用该接口编写自己的字符串线环缓冲区。但这实际上是一项艰巨的任务,我想知道是否已经满足了我的需求。

标签: pythonpython-3.xstring

解决方案


推荐阅读