我正在使用python3.3,并且在嘗試腌制一個(gè)簡(jiǎn)單的字典時(shí)遇到一個(gè)神秘的錯(cuò)誤。這是代碼:import osimport picklefrom pickle import *os.chdir('c:/Python26/progfiles/')def storvars(vdict): f = open('varstor.txt','w') pickle.dump(vdict,f,) f.close() returnmydict = {'name':'john','gender':'male','age':'45'}storvars(mydict)我得到:Traceback (most recent call last): File "C:/Python26/test18.py", line 31, in <module> storvars(mydict) File "C:/Python26/test18.py", line 14, in storvars pickle.dump(vdict,f,)TypeError: must be str, not bytes
3 回答

DIEA
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個(gè)贊
需要以二進(jìn)制模式打開(kāi)輸出文件:
f = open('varstor.txt','w')
需要是:
f = open('varstor.txt','wb')

偶然的你
TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
遇到完全相同的問(wèn)題后,我看到了針對(duì)和的文檔中提到了“二進(jìn)制”讀/寫(xiě)的需求。在兩個(gè)地方,僅在函數(shù)說(shuō)明的中間提到了這一點(diǎn)。有人應(yīng)該更清楚地說(shuō)明這一點(diǎn)。pickle.dump()
pickle.load()
添加回答
舉報(bào)
0/150
提交
取消