如何在单个字节对象中取消选取多个pickle项?

时间:2018-03-14 20:56:42

标签: python python-3.x pickle

This answer说明了如何解开文件中的多个项目。

但是,我正在通过网络发送腌制对象。如果两个腌制对象快速连续发送,它们最终可能会读入同一个缓冲区。

如何使用bytes对象复制链接答案中的行为?我可以拆分一个明确定义的终结符,或者“推进”bytes对象的方法吗?

例如:

test = pickle.dumps("hello")
test += pickle.dumps("world")

print(pickle.loads(test)) # Prints "hello" -- how do I get "world"?

1 个答案:

答案 0 :(得分:2)

按照关联答案中的模式,但use io.BytesIO to make an in-memory file-like object,例如:

setTimeout(readInData, 10000)