使用pickle.dump-TypeError:必须是str,而不是bytes

我使用的是python3.3,当我试图修改一个简单的字典时,出现了一个神秘的错误

代码如下:

导入操作系统
进口泡菜
从腌菜进口*
chdir(’c:/Python26/progfiles/’))
def存储变量(vdict):
f=打开(’varstor.txt’,’w’)
pickle.dump(vdict,f)
f、 关闭()
回来
mydict={‘name’:’john’,’gender’:’male’,’age’:’45’}
storvars(mydict)

我得到:

回溯(最近一次呼叫最后一次):
文件“C:/Python26/test18.py”,第31行,in<模块>
storvars(mydict)
storvars中第14行的文件“C:/Python26/test18.py”
pickle.dump(vdict,f)
TypeError:必须是str,而不是bytes

输出文件需要以二进制模式打开:

f=open('varstor.txt','w')

需要:

f=open('varstor.txt','wb')

发表评论