You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中替代io.BytesIO的读写+peek缓冲方案及io.BufferedRandom使用疑问

Python中替代io.BytesIO的读写+peek缓冲方案及io.BufferedRandom使用疑问

我发现Python里的io.BytesIO对象居然没有peek方法,而且还有个2022年就开着的相关PR,后来看到PR作者说这个是故意不设计peek方法的。

那问题来了,我想要实现既能读、写又能peek的缓冲功能,该用什么替代呢?

有人提议用io.BufferedReader,但这个方案感觉很别扭,因为它不对称,没法同时支持读写操作。后来我发现还有个io.BufferedRandom类,它同时继承了io.BufferedReader和io.BufferedWriter,看起来刚好符合我的需求,但我完全搞不懂它该怎么用——试着创建一个空的io.BufferedRandom实例时,直接报错missing required argument 'raw',代码是这样的:

buffer = io.BufferedRandom()

现在我完全懵了,不知道该怎么正确使用它,甚至怀疑是不是找错了库方向。

说下我的实际需求吧:我想要一个支持read、write和peek的缓冲对象,用来简化socket的读取操作——因为调用socket的recv可能返回任意长度的字节,我的想法是用这个缓冲暂存收到的数据,等攒到足够量的时候再解析处理。

备注:内容来源于stack exchange,提问作者user28464084

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 15:48:05