1. 程式人生 > >python2 與 python3 不相容問題總結【持續更新】

python2 與 python3 不相容問題總結【持續更新】

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)