日常代碼報錯:python KeyError:b'Variable'

最近在進行visual-semantic-embedding方面的學習,在運行代碼時,一直報KeyError:b’Variable’這個錯誤,查了很久,基本都是說 當請求字典對象裏面沒有的key時,python會拋出異常KeyError,但最終也沒解決我的問題,最終錯誤定位到這一句,
在這裏插入圖片描述
分析是由於worddict 的問題,打印出發現key前面多了b, 這是由於python2和python3的差異,原來的代碼是用python2寫的,我在python3下運行就出現這個問題了。

解決辦法:
將工程下所有文件涉及到worddict這個字典的地方前面都加上list,將它的key轉化成list的形式就ok了。
例如,下面的這兩處:
在這裏插入圖片描述
在這裏插入圖片描述
備註:
b:bytes
python3.x裏默認的str是unicode, bytes是python2.x的str, b前綴代表的就是bytes
python2.x裏, b前綴沒什麼具體意義,只是爲了兼容python3.x的這種寫法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章