python2 與 python3 不相容問題總結【持續更新】
阿新 • • 發佈:2019-02-19
1.python3 下報錯:’dict’ object has no attribute ‘iteritems’
python2 下為 .iteritems()
python3 下為 .items()
a={'1':1,'2':2}
a.items()
Out[26]: dict_items([('2', 2), ('1', 1)])
2.python3下報錯.TypeError: ‘dict_keys’ object does not support indexing
如果使用的是python2
firstStr = myTree.keys()[0]
LZ使用的是python3
firstSides = list(myTree.keys())
firstStr = firstSides[0]
3.python3報錯:pickle.dump(inputTree,fw) TypeError: write() argument must be str, not bytes
python序列化儲存物件到檔案時出錯
python2:
import pickle
fw = open(filename,'w')
pickle.dump(inputTree,fw)
fw.close()
python3:
def storeTree(inputTree,filename) :
import pickle
fw = open(filename,'wb')
pickle.dump(inputTree,fw)
fw.close()
def grabTree(filename):
import pickle
fr = open(filename,'rb')
return pickle.load(fr)