1. 程式人生 > >日常程式碼報錯:python KeyError:b'Variable'

日常程式碼報錯: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的這種寫法。