2016-08-08 15 views
0

私はhachior-parserを使用して、大量のビデオファイルの期間を取得しています。 (私は、ファイルのタイムスタンプに加えて、その持続時間に基づいて、 "Last modified"の日付をリセットしています。)this questionに適合したコードを使用しています。Hachoirの警告を抑制する

私が問題になっているのは、hachiorが各ファイルに対して4つの警告を報告し、これが出力を乱雑にしていることです。私はまだファイルから期間を取るので、可能であれば、出力でこれらの警告を抑制する方法を知りたいと思います。

Pythonは実際に私の強い訴訟ではないので、どこを見ていいのか分かりません。また、hachiorのドキュメンテーションは、エラー報告にかなり疎そうです。私はスクリプトの出力から行をグレープすることに頼らざるを得ません。

編集:実行中のpython -W ignore set_last_modified.pyは、同じ[warn]行を出力します。

[warn] [/headers/stream[2]/stream_fmt] Can't get field "stream_hdr" from /headers/stream[2] 
[warn] [/headers/stream[2]/stream_fmt] [Autofix] Fix parser error: stop parser, add padding 
[warn] [/headers/stream[3]/stream_fmt] Can't get field "stream_hdr" from /headers/stream[3] 
[warn] [/headers/stream[3]/stream_fmt] [Autofix] Fix parser error: stop parser, add padding 

答えて

1

-Wオプションを使用して、Pythonの警告を抑制することができます。

python -W ignore my_file.py 

編集:既に上記を試したので、次のことを試すことができます。

import warnings 
# add the following before you call the function that gives warnings. 
warnings.filterwarnings("ignore") 
# run your function here 
+0

申し訳ありませんが、私はすでにそれを試していたことを含めるのを忘れていました。 'python -W ignore set_last_modified.py'を実行すると、同じ[warn]行が出力されます。 – ghaberek

+0

@ghaberek編集を確認してください。うまくいけば助けになります。 – cyberbemon

+0

残念ながらそれも効果がありません。 'extractMetadata()'の呼び出しがこれらのメッセージを引き起こしているようです。その行の前に 'warnings.filterwarnings(ignore") 'を置き、まだ警告を受けました。 – ghaberek

関連する問題