2017-03-27 4 views
0

私のコンピュータには、lsm-dbという1000個のドキュメントが、エンコードされ圧縮されています。解凍と解読を試みると、「不正なヘッダー・チェック」というエラーが表示されます。コーパスからドキュメントを生成する際のエラーを取り除く

は、これは私がやっているものです:

for key in my_lsm_db.keys(): 
    print key, zlib.decompress(my_lsm_db[key], zlib.MAX_WBITS|32).decode('utf-8') 

いくつかのキーを処理した後、コードがエラーをスローします。私が受け取っているエラーは次のとおりです。error: Error -3 while decompressing data: incorrect header check

このようなエラー生成文書をすべてコーパスから削除します。エラーを生成するドキュメントを特定するにはどうすればよいのですか?

def remove_docs(my_lsm_db): 
    for key in my_lsm_db.keys(): 
     ## write code that identifies an error when generated 
     if <code that identifies document generating error>: 
      del my_lsm_db[key] 



ここではZlibとコードのMAX_WBITS一部にいくつかの情報があります:Zlib CompressionStack Overflow Answer for Zlib Automatic Header Detection

答えて

0

私はこのようなエラー発生文書を克服するために自分のコードの周りにtry/exceptブロックを使用してみました。それは上記のコードだけでなく、他のもののためにも機能します。

try: 
    <code to execute> 
except (<list of errors>) as e: 
    print e 
関連する問題