【Python】關閉 warning 資訊提示
背景
在使用 python MySQLdb 執行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)
推薦
Python 官方的 介紹的非常詳細,想深入瞭解python 對warning 管理的同學可以認真閱讀。
在使用 python MySQLdb 執行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)
推薦
Python 官方的 介紹的非常詳細,想深入瞭解python 對warning 管理的同學可以認真閱讀。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-1986069/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關閉VS警告 warning C4996996
- 關閉網頁彈出是否關閉的提示網頁
- win10關閉防火牆提示怎麼關閉_win10關閉防火牆提示徹底關閉操作方法Win10防火牆
- 關於git提示“warning: LF will be replaced by CRLF”終極解答Git
- 如何關閉PHP錯誤提示PHP
- win10怎麼關閉安裝提示 win10如何關閉程式安裝提示Win10
- win10怎麼關閉工作列提示_win10關閉工作列提示的方法Win10
- 關閉PHP錯誤提示的方法PHP
- win10安全提示關閉方法_win10如何關閉安全警告Win10
- 關閉瀏覽器頁面時彈出是否關閉提示框瀏覽器
- win10熱點資訊怎麼關閉 win10熱點資訊永久關閉Win10
- 關閉網頁彈出提示視窗網頁
- win10要怎麼關閉提示音_win10系統提示音怎麼關閉Win10
- windows10提示音怎麼關閉_win10系統提示音的關閉步驟WindowsWin10
- win10怎麼關閉更新_win10升級提示如何關閉Win10
- Win7系統關機時提示關閉程式Win7
- Win11關閉ms-gamingoverlay提示GAMGo
- win10更新提示怎麼關閉_win10更新如何徹底關閉Win10
- win10關閉開機提示更新系統方法_win10開機提示更新系統怎麼關閉Win10
- win10怎麼關閉系統提示聲音 win10如何關閉電腦系統提示音Win10
- Win8系統玩LOL提示"關閉程式以防止資訊丟失"的解決方法
- win10 關閉通知聲音方法 win10怎麼關閉聲音提示Win10
- win10 關閉桌面音量提示方法 win10如何關閉系統聲音Win10
- win10系統提示音怎麼關閉_win10系統提示音響個不停如何關閉Win10
- 如何關閉python文件字串Python字串
- Macbook怎麼關閉磁碟“未正確推出”提示Mac
- 關閉ubuntu討厭的內部錯誤提示Ubuntu
- windows10怎麼關閉系統的提示聲音_win10關閉系統提示音的設定方法WindowsWin10
- 三星A8s怎麼關閉系統更新提示?三星A8s系統更新提示關閉方法
- win10彈窗熱點資訊怎麼關閉_win10熱點資訊彈窗的關閉方法Win10
- 如何關閉Flash Cookie來避免資訊洩露?Cookie
- win10系統升級提示的關閉方法Win10
- Windows XP巧妙關閉USB錯誤提示的方法(轉)Windows
- win10提示怎麼關_win10關閉開啟軟體提示彈窗的方法Win10
- 如何關閉win10系統聲音_win10關閉系統提示音的方法Win10
- 關閉特定物件統計資訊自動收集物件
- win10截圖提示怎麼取消_win10如何關閉截圖提示Win10
- win10 關閉軟體安裝提示方法 win10怎樣關閉軟體安裝提醒Win10