作者os653 (allstar)
看板Python
標題[問題] Python 2.x 3.x pickle 不相容
時間Thu Sep 6 10:07:10 2012
Python 2.7 把一個 datetime.datetime 物件打包成 bytes 傳給 Python 3.2
Python 3.2 卻沒辦法把這些 bytes 還原成 datetime.datetime 物件
錯誤訊息如下
UnicodeDecodeError: 'ascii' codec can't decode byte 0xdc in position 1:
ordinal not in range(128)
試過用其他 codec,一樣噴 UnicodeDecodeError 出來
改其他 pickle protocol,也一樣噴 UnicodeDecodeError 出來
請問這是為什麼?照理說 pickle module 應該能相容才對呀?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.46.136.29
推 hsnu114444:pickle.load(fp, fix_imports=True) 09/06 11:18
推 hsnu114444:上面打錯,不要管上面 09/06 11:26
→ hsnu114444:應該是你dump的時候應該用dumps, python3 09/06 11:26
→ hsnu114444:好像只吃 binary buffer, 不支援 text mode 09/06 11:26