首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略来自`PYTHONWARNINGS=的Python“error::Warning`?

问忽略来自`PYTHONWARNINGS=的Python“error::Warning`?
EN

Stack Overflow用户
提问于 2018-03-07 12:20:51
回答 1查看 777关注 0票数 1

我正在使用PYTHONWARNINGS="error::Warning"在警告时引发异常,但我想忽略某些这样的异常,这通常是很好的。当产生的异常是SyntaxError时,我有时想忽略它,但不知道如何忽略它。

详细示例:

代码语言:javascript
复制
# has_deprecated_syntax.py
"""this becomes invalid: \* """

然后:

代码语言:javascript
复制
`$PYTHONWARNINGS="error::Warning" python3.6 -c "import     has_deprecated_syntax"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/davidchudzicki/temp/so/has_deprecated_syntax.py", line 1
    """this becomes invalid: \* """
    ^
SyntaxError: invalid escape sequence \*

这些忽略它的尝试都给我带来了同样的失败:

代码语言:javascript
复制
PYTHONWARNINGS="error::Warning,default::Warning:has_deprecated_syntax" python3.6 -c "import has_deprecated_syntax" 

和

代码语言:javascript
复制
PYTHONWARNINGS="error::Warning,default::SyntaxError" python3.6 -c "import has_deprecated_syntax"

作为参考,我认为这是忽略来自特定模块的警告的一般正确的环境设置:

通过以下方式:

代码语言:javascript
复制
# has_warning.py
import warnings
warnings.warn("hi")

..。我得到了:

代码语言:javascript
复制
$PYTHONWARNINGS="error::Warning" python -c "import has_warning"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "has_warning.py", line 3, in <module>
    warnings.warn("hi")
UserWarning: hi

我可以用以下命令忽略...which:

代码语言:javascript
复制
$PYTHONWARNINGS="error::Warning,default::Warning:has_warning" python -c 
"import has_warning"
has_warning.py:3: UserWarning: hi
  warnings.warn("hi")

但它不适用于SyntaxError。有没有什么方法可以忽略那些来自特定模块的内容?

(注意:我已经为这个问题构建了一个小示例,但我关心的真正原因是,我希望在我帮助的包的持续集成中出现警告时失败,但当我这样做时,我从我们的一个依赖项中获得SyntaxError。)

EN

回答 1

Stack Overflow用户

发布于 2018-03-07 12:42:39

你不能忽略SyntaxError。这不是警告,这是个错误。

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

https://stackoverflow.com/questions/49144064

复制
相关文章

相似问题

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