2017-10-24 5 views
0

私は、私は次のエラーを取得しています

import os 
f = open("/Volumes/aj/VLP16_Points_2017-10-24-11-21-21.bag", 'r') 
print (f.read()) 
f.close() 

.bagファイルからデータを読み込むために、次のコードを行っています

Traceback (most recent call last): 
    File "/Users/ajinkyabobade/PycharmProjects/storingfiles/storingimage.py", line 11, in <module> 
    print (f.read()) 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/codecs.py", line 321, in decode 
    (result, consumed) = self._buffer_decode(data, self.errors, final) 

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x88 in position 33: invalid start byte 

このエラーを削除するにはどうすればよいですか?また、データの実行時間を保存するには(バッグファイルが生成されているので)

答えて

1

Python 3でopen()は適切なエンコーディングを選択するために環境を使います。よろしい場合と(ファイルが非UTF-8エンコードされている場合)、UTF-8でエンコードされ、そのファイルには、あなたは

with open('/path/to/file', 'r', error='ignore') as f: 
    print(f.read()) 

で無効なバイトシーケンスを無視することができそれとも、右のエンコーディングを選んだ可能性が

with open('/path/to/file', 'r', encoding='needed_encoding') as f: 
    print(f.read()) 

また、openのドキュメントは、usefulとすることができます。

+0

ありがとうございました。私のバッグファイルにはどのような種類のエンコードがありますか? –

+0

@Ajinkya Bobade Linuxを使用している場合、 'file --mime filename'を試してください。 – kvorobiev

+0

私はMacOSを使っています –