[英]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.