本篇内容介绍了“Python怎么关闭warning信息提示”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
背景
在使用 python db 执行sql 命令的时候,如果执行结果含有warning,则会被写入到 stderr 展示到终端命令行。其实这些warning提示信息没有任何实际的作用。
root@rac3:~/scripts# >python set_ms.py -m 10.0.2.15:3306 -s 10.0.2.6:3308
Begin to set Replicate on slave 10.0.2.6:3308
set_ms.py:35: Warning: Slave already has been stopped
ret=cursor.execute(SQL)
set_ms.py:35: Warning: Sending passwords in plain text without SSL/TLS is extremely insecure.
ret=cursor.execute(SQL)
set_ms.py:35: Warning: Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
ret=cursor.execute(SQL)
Success : CHANGE MASTER TO MASTER_HOST='10.0.2.15',MASTER_USER='slave',MASTER_PASSWORD='xxxx',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=314;
那我们该怎么解决呢?
Python 提供了warnings模块,通过该模块控制系统warning 的输出形式,关闭或者打开。举个例子
1 将 MySQLdb.Warning warnings 传入exceptions 以便通过 try catch 获取exception 进而对其进行业务逻辑处理。
filterwarnings('error', category=MySQLdb.Warning)
如果设置为error 则需要在代码中引入 except机制
try:
execSQL ...
except MySQLdb.Warning, e:
print "MySQLdb Warning", e
2 设置为warning 为 ignore ,忽略所有warning 信息。
filterwarnings('ignore', category = MySQLdb.Warning)
代码实现
import MySQLdb
import MySQLdb.cursors
from warnings import filterwarnings
filterwarnings('ignore', category = MySQLdb.Warning)
def execSql(SQL,IP,PORT,USER,PWD):
'''####exec_sql####'''
try:
db=MySQLdb.connect(host=IP,user=USER,passwd=PWD,db='test',port=int(PORT),charset="utf8")
cursor=db.cursor(cursorclass=MySQLdb.cursors.DictCursor)
except MySQLdb.Error,e:
print "connection failed!Error %d:%s"%(e.args[0],e.args[1])
sys.exit(9)
免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。
Copyright © 2009-2022 56dr.com. All Rights Reserved. 特网科技 特网云 版权所有 特网科技 粤ICP备16109289号
域名注册服务机构:阿里云计算有限公司(万网) 域名服务机构:烟台帝思普网络科技有限公司(DNSPod) CDN服务:阿里云计算有限公司 百度云 中国互联网举报中心 增值电信业务经营许可证B2
建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站