【发布时间】:2010-05-04 09:47:09
【问题描述】:
我正在解开磁盘上大小约为 1GB 的 NetworkX 对象。虽然我将它保存为二进制格式(使用协议 2),但解封该文件需要很长时间——至少半小时。我运行的系统有足够的系统内存(128 GB),所以这不是瓶颈。
我已经读过here,可以通过首先将整个文件读入内存,然后将其取消酸洗来加速酸洗(该特定线程指的是我没有使用的 python 3.0,但重点应该仍然是在 python 2.6 中是正确的)。
如何先读取二进制文件,然后解压它?我试过了:
import cPickle as pickle
f = open("big_networkx_graph.pickle","rb")
bin_data = f.read()
graph_data = pickle.load(bin_data)
但这会返回:
TypeError: argument must have 'read' and 'readline' attributes
有什么想法吗?
【问题讨论】:
标签: python serialization pickle