0

我正在使用hach​​ior-parser来获取大量视频文件的持续时间。(我正在根据文件的时间戳以及其持续时间重置“上次修改”日期。)我正在使用改编自这个问题的代码。

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

Python 并不是我真正的强项,所以我不确定去哪里寻找,而且关于错误报告的 hach​​ior 文档似乎相当稀少。我不想求助于从我的脚本输出中提取行。

编辑:运行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
4

2 回答 2

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
于 2016-08-08T15:12:29.317 回答
1

我通过检查 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
于 2016-08-09T12:45:41.020 回答