欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python如何輸出警告信息

 更新時(shí)間:2020年07月30日 11:44:28   作者:D  
這篇文章主要介紹了Python如何輸出警告信息,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

問(wèn)題

你希望自己的程序能生成警告信息(比如廢棄特性或使用問(wèn)題)。

解決方案

要輸出一個(gè)警告消息,可使用 warning.warn() 函數(shù)。例如:

import warnings

def func(x, y, logfile=None, debug=False):
  if logfile is not None:
     warnings.warn('logfile argument deprecated', DeprecationWarning)
  ...

warn() 的參數(shù)是一個(gè)警告消息和一個(gè)警告類(lèi),警告類(lèi)有如下幾種:UserWarning, DeprecationWarning, SyntaxWarning, RuntimeWarning, ResourceWarning, 或 FutureWarning.

對(duì)警告的處理取決于你如何運(yùn)行解釋器以及一些其他配置。 例如,如果你使用 -W all 選項(xiàng)去運(yùn)行Python,你會(huì)得到如下的輸出:

bash % python3 -W all example.py
example.py:5: DeprecationWarning: logfile argument is deprecated
  warnings.warn('logfile argument is deprecated', DeprecationWarning)

通常來(lái)講,警告會(huì)輸出到標(biāo)準(zhǔn)錯(cuò)誤上。如果你想講警告轉(zhuǎn)換為異常,可以使用 -W error 選項(xiàng):

bash % python3 -W error example.py
Traceback (most recent call last):
  File "example.py", line 10, in <module>
    func(2, 3, logfile='log.txt')
  File "example.py", line 5, in func
    warnings.warn('logfile argument is deprecated', DeprecationWarning)
DeprecationWarning: logfile argument is deprecated
bash %

討論

在你維護(hù)軟件,提示用戶某些信息,但是又不需要將其上升為異常級(jí)別,那么輸出警告信息就會(huì)很有用了。 例如,假設(shè)你準(zhǔn)備修改某個(gè)函數(shù)庫(kù)或框架的功能,你可以先為你要更改的部分輸出警告信息,同時(shí)向后兼容一段時(shí)間。 你還可以警告用戶一些對(duì)代碼有問(wèn)題的使用方式。

作為另外一個(gè)內(nèi)置函數(shù)庫(kù)的警告使用例子,下面演示了一個(gè)沒(méi)有關(guān)閉文件就銷(xiāo)毀它時(shí)產(chǎn)生的警告消息:

>>> import warnings
>>> warnings.simplefilter('always')
>>> f = open('/etc/passwd')
>>> del f
__main__:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='/etc/passwd'
 mode='r' encoding='UTF-8'>
>>>

默認(rèn)情況下,并不是所有警告消息都會(huì)出現(xiàn)。-W 選項(xiàng)能控制警告消息的輸出。 -W all 會(huì)輸出所有警告消息,-W ignore 忽略掉所有警告,-W error 將警告轉(zhuǎn)換成異常。 另外一種選擇,你還可以使用 warnings.simplefilter() 函數(shù)控制輸出。 always 參數(shù)會(huì)讓所有警告消息出現(xiàn),`ignore 忽略調(diào)所有的警告,error 將警告轉(zhuǎn)換成異常。

對(duì)于簡(jiǎn)單的生成警告消息的情況這些已經(jīng)足夠了。 warnings 模塊對(duì)過(guò)濾和警告消息處理提供了大量的更高級(jí)的配置選項(xiàng)。 更多信息請(qǐng)參考 Python文檔

以上就是Python如何輸出警告信息的詳細(xì)內(nèi)容,更多關(guān)于Python 輸出警告信息的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python + Flask 實(shí)現(xiàn)簡(jiǎn)單的驗(yàn)證碼系統(tǒng)

    Python + Flask 實(shí)現(xiàn)簡(jiǎn)單的驗(yàn)證碼系統(tǒng)

    這篇文章主要介紹了Python + Flask 制作一個(gè)簡(jiǎn)單的驗(yàn)證碼系統(tǒng),本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Python機(jī)器學(xué)習(xí)入門(mén)(四)之Python選擇模型

    Python機(jī)器學(xué)習(xí)入門(mén)(四)之Python選擇模型

    這篇文章主要介紹了Python機(jī)器學(xué)習(xí)入門(mén)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • python將字典內(nèi)容存入mysql實(shí)例代碼

    python將字典內(nèi)容存入mysql實(shí)例代碼

    這篇文章主要介紹了python將字典內(nèi)容存入mysql實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python導(dǎo)入torch包的完整方法過(guò)程

    Python導(dǎo)入torch包的完整方法過(guò)程

    這篇文章主要給大家介紹了關(guān)于Python導(dǎo)入torch包的完整方法, python torch又稱(chēng)PyTorach,是一個(gè)以Python優(yōu)先的深度學(xué)習(xí)框架,一個(gè)開(kāi)源的Python機(jī)器學(xué)習(xí)庫(kù),用于自然語(yǔ)言處理等應(yīng)用程序,需要的朋友可以參考下
    2023-12-12
  • 關(guān)于python xlwings模塊用法詳解

    關(guān)于python xlwings模塊用法詳解

    xlwings是一個(gè)用于在Excel和Python之間進(jìn)行交互的庫(kù),它允許您使用Python操作Excel文件,包括讀取和寫(xiě)入數(shù)據(jù),運(yùn)行宏,設(shè)置格式等等,我們可以使用xlwings來(lái)處理Excel文件中的數(shù)據(jù),執(zhí)行各種操作,所以本文小編就給大家python xlwings模塊用法
    2023-09-09
  • python中列表推導(dǎo)式與生成器表達(dá)式對(duì)比詳解

    python中列表推導(dǎo)式與生成器表達(dá)式對(duì)比詳解

    python當(dāng)然不是一門(mén)編譯型語(yǔ)言,但是它還是要被解析成二進(jìn)制的字節(jié)碼才能被執(zhí)行,執(zhí)行它的正是python解釋器,下面這篇文章主要給大家介紹了關(guān)于python中列表推導(dǎo)式與生成器表達(dá)式對(duì)比的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • python神經(jīng)網(wǎng)絡(luò)Xception模型復(fù)現(xiàn)詳解

    python神經(jīng)網(wǎng)絡(luò)Xception模型復(fù)現(xiàn)詳解

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Xception模型復(fù)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Linux環(huán)境下MySQL-python安裝過(guò)程分享

    Linux環(huán)境下MySQL-python安裝過(guò)程分享

    這篇文章主要介紹了Linux環(huán)境下MySQL-python安裝過(guò)程分享,本文使用的編譯方式安裝,需要的朋友可以參考下
    2015-02-02
  • pyecharts動(dòng)態(tài)軌跡圖的實(shí)現(xiàn)示例

    pyecharts動(dòng)態(tài)軌跡圖的實(shí)現(xiàn)示例

    這篇文章主要介紹了pyecharts動(dòng)態(tài)軌跡圖的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • pytorch實(shí)現(xiàn)MNIST手寫(xiě)體識(shí)別

    pytorch實(shí)現(xiàn)MNIST手寫(xiě)體識(shí)別

    這篇文章主要為大家詳細(xì)介紹了pytorch實(shí)現(xiàn)MNIST手寫(xiě)體識(shí)別,使用全連接神經(jīng)網(wǎng)絡(luò),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02

最新評(píng)論