忽略Python代码中的提示信息(print)

忽略Python代码中的提示信息

今天一直被 pymysql 库的告警信息干扰,而本身所有代码包括sql的运作是正常的

(py36) [root@VM_33_99_centos zabbix-externalscripts]# ./my_python_script.py
/app/zabbix-externalscripts/py36/lib/python3.6/site-packages/pymysql/cursors.py:170: Warning: (1292, "Incorrect datetime value: '0'")
  result = self._query(query)
0.448

想要输出完成的 0.448,不要提示信息,怎么办呢

搜了一下:python get print from function,无果,能获取到stdout输出没错,但这个stderr不行

想到这类输出其实是蛮常见的,应该有解决方法吧

随即搜索:python ignore print warning,got you~!

直达 stackoverflow 的快车

感觉以下两种方法是比较常用/实用的

方法1. 在shell中添加执行参数

python -W ignore my_python_script.py

方法2. 使用warnings库修改代码结构

找到输出warning的代码段

import warnings

with warnings.catch_warnings():
	warnings.simplefilter('ignore')
	# ...你的代码段

关键词:python,warning,package,stderr,error

posted @ 2019-09-03 17:38  zw1027  阅读(2014)  评论(0编辑  收藏  举报