我使用的是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')