ファイルのTweetオブジェクトの配列を保存しようとしています。 Tweetクラスのインスタンスには、utf8エンコード文字が含まれています。"UnicodeDecodeError: 'charmap'コーデックは、ピクルスロードのエラーを解読できません。
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-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
なぜあなたは、バイナリモードでファイルに書き込み、テキストモードで、それから読んでいますか? –
オブジェクトを取得して使用したいと考えています。ここでは簡単な例を挙げましたが、Tweetクラスには非テキスト属性も含まれています。 – CoderInNetwork
書き込み時には 'DAT'ファイル全体を置き換えますが、外部のエンコーディング/デコードシステムで使用したい場合は、このファイルを作成する際にどのデコードが使用されたか覚えていましたか? 。ほとんどの答えは「いいえ! 、cos、 'os_encoding'、' python encode'、 'python decode'パターン? – dsgdfg