我正在使用python3.3并且在尝试挑选一个简单的字典时遇到了一个神秘的错误.
这是代码:
import os
import pickle
from pickle import *
os.chdir('c:/Python26/progfiles/')
def storvars(vdict):
f = open('varstor.txt','w')
pickle.dump(vdict,f,)
f.close()
return
mydict = {'name':'john','gender':'male','age':'45'}
storvars(mydict)
Run Code Online (Sandbox Code Playgroud)
我得到:
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
Run Code Online (Sandbox Code Playgroud) 我从原始代码发布,
crystal = open('vmises.dat','r')
crystalincrement = pickle.load(crystal)
crystaldir = pickle.load(crystal)
crystalface = pickle.load(crystal)
crystal.close()
Run Code Online (Sandbox Code Playgroud)
错误是,
crystalincrement = pickle.load(crystal)
Run Code Online (Sandbox Code Playgroud)
TypeError:'str'不支持缓冲区接口
我使用python V 3.2