[英]EOFError when using Python “cPickle.load” to load a C++-written binary file
我使用C ++ fwrite
写了一个二进制文件,并尝试使用cPickle.load
来加载这个文件。 但是我遇到了错误
data = pickle.load(f)
EOFError
我的C ++写文件代码是
FILE* bp = fopen("res.bin", "wb");
for(int i = 0; i < 512 ; i++){
float tmp = i;
fwrite(&tmp, sizeof(float), 1, bp);
}
fclose (bp);
我的Python加载代码是
import cPickle as pickle
f = open("res.bin", "rb")
data = pickle.load(f)
f.close()
请帮助解决这个问题。 谢谢!
解决了numpy ...看起来像pickle.load
不能用来加载c ++二进制文件。 所以我使用numpy.fromfile
data = np.fromfile("res.bin", dtype='float32')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.