捕获 Python 2.6 之前的警告
在 Python 2.6 中,可以通过使用
with warnings.catch_warnings():
warnings.simplefilter("ignore")
fxn()
2.6 之前的 Python 版本来抑制警告模块中的警告,但不支持 with
,所以我想知道是否有上述方法的替代方案可以与 pre 一起使用-2.6版本?
In Python 2.6 it is possible to suppress warnings from the warnings module by using
with warnings.catch_warnings():
warnings.simplefilter("ignore")
fxn()
Versions of Python before 2.6 don't support with
however, so I'm wondering if there alternatives to the above that would work with pre-2.6 versions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这类似于:
编辑: 如果没有
try/finally
,如果 fxn() 抛出异常,则不会恢复原始警告过滤器。请参阅 PEP 343,了解有关如何使用语句可以代替try/finally。
This is similar:
Edit: Without the
try/finally
, the original warning filters would not be restored if fxn() threw an exception. See PEP 343 for more discussion on how thewith
statement serves to replacetry/finally
when used like this.根据您需要支持的最低版本,使用 Python 2.5
可能是一个选项,否则您可能需要回退到 Jon 建议的内容。
Depending on what the minimum version you need to support using Python 2.5's
might be an option, else you'll probably need to fallback to what Jon suggested.