在Hachoir中抑制警告

时间:2016-08-08 15:06:54

标签: python hachoir-parser

我正在使用hachior-parser来获取大量视频文件的持续时间。 (我正在根据文件的时间戳加上其持续时间重置“上次修改”日期。)我正在使用从this question改编的代码。

我遇到的问题是,hachior报告每个文件有四个警告,这使我的输出变得混乱。我仍然从文件中获取持续时间,所以我想知道如果可能的话,如何在输出中抑制这些警告。

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我通过在BitBucket上查看项目的问题页面找到了解决方案。

https://bitbucket.org/haypo/hachoir/issues/54/control-log-level-whith-the-python-api

from hachoir_core import config as HachoirConfig
HachoirConfig.quiet = True