如何从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)
您只是没有倒带缓冲区:bytes_io.seek(0)before pickle.load。
可能您不想倒退到缓冲区的前面,而只是倒回到腌制数据的开头。然后bytes_io.tell()在腌制之前读出的位置,而不是寻找位置0。
| 归档时间: |
|
| 查看次数: |
1345 次 |
| 最近记录: |