gpt4 book ai didi

python - 在 python 2.6 之前捕获警告

转载 作者:太空狗 更新时间:2023-10-29 21:57:36 24 4
gpt4 key购买 nike

在 Python 2.6 中,可以通过使用

with warnings.catch_warnings():
warnings.simplefilter("ignore")
fxn()

但是,2.6 之前的 Python 版本不支持 with,所以我想知道是否有替代上述方法的方法适用于 2.6 之前的版本?

最佳答案

这是类似的:

# Save the existing list of warning filters before we modify it using simplefilter().
# Note: the '[:]' causes a copy of the list to be created. Without it, original_filter
# would alias the one and only 'real' list and then we'd have nothing to restore.
original_filters = warnings.filters[:]

# Ignore warnings.
warnings.simplefilter("ignore")

try:
# Execute the code that presumably causes the warnings.
fxn()

finally:
# Restore the list of warning filters.
warnings.filters = original_filters

编辑:如果没有 try/finally,如果 fxn() 抛出异常,原始警告过滤器将不会恢复。参见 PEP 343有关 with 语句在像这样使用时如何替代 try/finally 的更多讨论。

关于python - 在 python 2.6 之前捕获警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2059675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com