腌制后的字节数据如何解开?

4 python pickle

如何从BytesIO对象写入和读取腌制的数据?

我试过了:

import io
import cPickle as pickle

s1 = "foo"
bytes_io = io.BytesIO()
pickle.dump(s1, bytes_io, pickle.HIGHEST_PROTOCOL)
s2 = pickle.load(bytes_io)
Run Code Online (Sandbox Code Playgroud)

这给出了pickle.load行:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
EOFError
Run Code Online (Sandbox Code Playgroud)

kay*_*kay 7

您只是没有倒带缓冲区:bytes_io.seek(0)before pickle.load

可能您不想倒退到缓冲区的前面,而只是倒回到腌制数据的开头。然后bytes_io.tell()在腌制之前读出的位置,而不是寻找位置0