![](/img/trans.png)
[英]csv read raises "UnicodeDecodeError: 'charmap' codec can't decode..."
[英]“UnicodeDecodeError: 'charmap' codec can't decode” error in pickle load
我想在文件中保存一組Tweet對象。 Tweet類實例包含utf8編碼字符。 你可以看到下面的代碼:
class Tweet:
author='';
text='';
time='';
date='';
timestamp='';
with open('tweets.dat','wb') as f:
pickle.dump(all_tweets,f)
with open('tweets.dat') as f:
all_tweets = pickle.load(f)
當我運行代碼時,它會在pickle.load(f)行上返回一個異常,說明:
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 25: character maps to <undefined>
我的機器規格:
Python 3.5.2 | Anaconda 4.2.0(64位)| (默認情況下,2016年7月5日,11:41:13)[winv上的MSC v.1900 64位(AMD64)]
在Python 3中,pickle模塊期望底層文件對象接受或返回字節 。 您以二進制模式正確打開文件進行寫入,但未能在讀取時執行相同操作。 閱讀部分應為:
with open('tweets.dat', 'rb') as f:
all_tweets = pickle.load(f)
參考:摘自pickle.load(fd)
的文檔:
...因此,文件可以是為二進制讀取打開的磁盤文件,io.BytesIO對象或滿足此接口的任何其他自定義對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.