[英]unpickling '_io.BufferedReader' error
大家好,我使用以下代碼將詞典列表腌制到文件中
fd = open(file_name,'ab')
for i in listOFDicts:
pickle.dump(i,fd)
fd.close()
然后,現在我想使用以下代碼加載它
with open(filename, 'rb') as pickleFile:
content = pickle.loads(pickleFile)
我收到此錯誤“需要一個類似字節的對象,而不是'_io.BufferedReader'”
當我使用load()而不是load()時
我得到這個錯誤
“ UnicodeDecodeError:'ascii'編解碼器無法解碼位置0的字節0xc6:序數不在范圍(128)中”
如果我使用pickle.load(filename,encoding ='latin1')
我收到此錯誤“ ModuleNotFoundError:沒有名為'bson'的模塊”
任何幫助將非常感激
真誠的
我編寫了以下代碼,向您展示如何使用泡菜,並根據需要對其進行編輯。
import pickle
dict = {0:0, 1:1}
list_of_dict = [dict, dict]
with open("save.pickle", "wb") as f:
pickle.dump(list_of_dict, f)
del list_of_dict
#print(list_of_dict)
#put below in the other script.
with open("save.pickle", "rb") as f:
list_of_dict = pickle.load(f)
print(list_of_dict)
這是用python 3編寫的,如果您使用的是python 2,請更改以下行:
import pickle
至
import cPickle as pickle
並適當地更改打印。
使用了del
命令來刪除變量,以節省我用2個腳本編寫變量的時間。 您可以忽略該行,然后將其余部分寫在第二個腳本中。
資料來源:過去和以下內容中使用的一些我自己的python腳本: https : //wiki.python.org/moin/UsingPickle
編輯:我改進了代碼。 嘗試類似地使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.