python - 如何使用具有独立读写指针的StringIO?
问题描述
在我的 Python 程序和线程中,我不断地异步地从嵌入式设备获取原始字节缓冲区(实际上是日志输出)。转换后,它是一个包含换行符的 ascii 字符串。
在同一个程序中,我想不时地将它作为主线程中的行来使用。
我io.StringIO
为此选择了换行符,换行符拆分并具有不错的readline
界面。
在我的线程中,我正在调用write()
StringIO 对象,并且主线程会不时消耗行(通过readline()
)
但是,StringIO 类的行为不像 FIFO 或 Ringbuffer。它没有单独的读写指针。
在 readline() 之前,我必须将文件点移回最后一个读取位置,并在完成后移回末尾,以便写入正确附加。
考虑到并发访问等,我可以使用该接口编写自己的字符串线环缓冲区。但这实际上是一项艰巨的任务,我想知道是否已经满足了我的需求。
解决方案
推荐阅读
- html - HTML:如何创建具有不同语言内容的网页
- java - Java GUI 添加文本,我想斜体,加粗单词 l。怎么可能?
- python - 在 pandas 数据框中聚合和汇总数据。有没有更好的办法?
- excel - 如何使用 vba 添加内联 pdf 文档?
- git - 如何找到 Bitbucket 帐户 UUID?
- java - 为什么HttpURLConnection的getInputStream()方法返回的是RealBufferedSource类型的对象?
- javascript - 如何计算视图中打开对象上的复选框数量?
- postgresql - 函数循环遍历数组元素的语法?
- callback - 我找到了这个接受回调但不起作用的函数示例?
- python - 模式匹配并在字符串出现中提取它