close
由於自己在學校裡面的筆電是採用Python 3, 所以在Python 3裡面有時候要把variable丟回我的macbook工作的時候我就會採用Pickle的方式。

Pickle其實還蠻方便的, 基本上的操作指令如下

如果要存Variable的話可以採用
with open(PATH, 'wb') as fp:
pickle.dump(Variable,fp)


而如果之後要load variable則可以採用

with open(PATH, 'rb') as fp:
variable = pickle.load(fp)


但是從以上面的這個模式存取的檔案, 放到我的Macbook(python 2.7)就會出現以下的錯誤
unsupported pickle protocol: 3


原因很簡單, 就是因為在先前dump的時候沒有specify protocol, 所以要解決這個問題, 只要在上面的

with open(PATH, 'wb') as fp:
pickle.dump(Variable,fp,protocol=2)


這樣問題就可以解決。必須要注意的是, Protocol只能在dump的時候決定, load的時候會由程式自己去判斷是否可以load。
arrow
arrow
    全站熱搜

    曲線軌跡 發表在 痞客邦 留言(0) 人氣()