首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何禁用Python警告?

如何禁用Python警告?
EN

Stack Overflow用户
提问于 2013-01-23 00:26:49
回答 9查看 1M关注 0票数 615

我正在使用的代码会抛出很多(对我而言)无用的警告,使用`warnings`库。阅读(/scanning)文档我只找到了一种方法禁用单个functions的警告

..。但我不想更改太多代码。

有没有像这样的旗帜

python -no-warning foo.py

你有什么推荐的吗?

EN

回答 9

Stack Overflow用户

发布于 2013-01-23 00:31:00

看看临时抑制WarningsPython文档的部分:

如果您使用的代码会引发警告,但又不想看到警告,则可以使用`catch_warnings`上下文管理器:

导入警告def fxn():带有warnings.catch的warnings.warn("deprecated",DeprecationWarning)_警告():warnings.simplefilter("ignore") fxn()

我不能宽恕你,但你可以禁止显示所有警告有了这个:

代码语言:javascript
运行
复制
import warnings
warnings.filterwarnings("ignore")

例如:

代码语言:javascript
运行
复制
>>> import warnings
>>> def f():
...     print('before')
...     warnings.warn('you are warned!')
...     print('after')
...
>>> f()
before
:3: UserWarning: you are warned!
after
>>> warnings.filterwarnings("ignore")
>>> f()
before
after
票数 810
EN

Stack Overflow用户

发布于 2013-07-15 20:59:26

您还可以定义环境变量( 2010年的新特性-即python 2.7)

代码语言:js
复制
export PYTHONWARNINGS="ignore"

像这样测试:默认

代码语言:javascript
运行
复制
$ export PYTHONWARNINGS="default"
$ python
>>> import warnings
>>> warnings.warn('my warning')
__main__:1: UserWarning: my warning
>>>

忽略警告

代码语言:javascript
运行
复制
$ export PYTHONWARNINGS="ignore"
$ python
>>> import warnings
>>> warnings.warn('my warning')
>>>

对于弃用警告看一看how-to-ignore-deprecation-warnings-in-python复制到这里...

来自警告warnings module:(https://docs.python.org/3/library/warnings.html)

代码语言:js
复制
#!/usr/bin/env python -W ignore::DeprecationWarning

如果你使用的是Windows: pass-W ignore::DeprecationWarning作为Python的参数。更好的方法是解决这个问题,方法是将int..。

(请注意,在Python 3.2中,默认情况下会忽略弃用警告。)

或者:

代码语言:javascript
运行
复制
import warnings

with warnings.catch_warnings():
    warnings.filterwarnings("ignore", category=DeprecationWarning)
    import md5, sha

yourcode()

现在你仍然可以得到所有其他的DeprecationWarnings,但不是由以下原因引起的:

代码语言:js
复制
import md5, sha
票数 141
EN

Stack Overflow用户

发布于 2018-02-07 02:48:40

这是一个老问题,但在PEP 565](https://www.python.org/dev/peps/pep-0565) 要关闭所有警告,如果您正在编写python应用程序,您应该使用:

代码语言:javascript
运行
复制
import sys
import warnings

if not sys.warnoptions:
    warnings.simplefilter("ignore")

建议这样做的原因是,默认情况下,它会关闭所有警告,但最重要的是,它允许通过python -W在命令行上或PYTHONWARNINGS..。

票数 88
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14463277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档