最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python如何輸出警告信息

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

問題

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

解決方案

要輸出一個警告消息,可使用 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ù)是一個警告消息和一個警告類,警告類有如下幾種:UserWarning, DeprecationWarning, SyntaxWarning, RuntimeWarning, ResourceWarning, 或 FutureWarning.

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

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

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

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

作為另外一個內(nèi)置函數(shù)庫的警告使用例子,下面演示了一個沒有關(guān)閉文件就銷毀它時產(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)情況下,并不是所有警告消息都會出現(xiàn)。-W 選項能控制警告消息的輸出。 -W all 會輸出所有警告消息,-W ignore 忽略掉所有警告,-W error 將警告轉(zhuǎn)換成異常。 另外一種選擇,你還可以使用 warnings.simplefilter() 函數(shù)控制輸出。 always 參數(shù)會讓所有警告消息出現(xiàn),`ignore 忽略調(diào)所有的警告,error 將警告轉(zhuǎn)換成異常。

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

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

相關(guān)文章

  • python Django里CSRF 對應(yīng)策略詳解

    python Django里CSRF 對應(yīng)策略詳解

    這篇文章主要介紹了python Django里CSRF 對應(yīng)策略詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python漢字轉(zhuǎn)拼音pypinyin庫、輸出excel的xlwt庫

    Python漢字轉(zhuǎn)拼音pypinyin庫、輸出excel的xlwt庫

    本文介紹了如何使用Python的pypinyin庫和xlwt庫,將漢字文本轉(zhuǎn)換為帶有拼音標(biāo)注的Excel文件,通過讀取文本、獲取拼音并寫入Excel,實現(xiàn)了漢字和拼音的一一對應(yīng),同時,文章也指出了潛在的問題
    2025-04-04
  • python利用有道翻譯實現(xiàn)

    python利用有道翻譯實現(xiàn)"語言翻譯器"的功能實例

    小編就為大家分享一篇python利用有道翻譯實現(xiàn)"語言翻譯器"的功能實例。具有比較好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • 詳細(xì)介紹Ruby中的正則表達(dá)式

    詳細(xì)介紹Ruby中的正則表達(dá)式

    這篇文章主要介紹了詳細(xì)介紹Ruby中的正則表達(dá)式,文章中還給出了用于搜索和替換的正則表達(dá)式的使用實例,需要的朋友可以參考下
    2015-04-04
  • 用python生成一張壁紙實例代碼

    用python生成一張壁紙實例代碼

    大家好,本篇文章主要講的是用python生成一張壁紙實例代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Python+Tensorflow+CNN實現(xiàn)車牌識別的示例代碼

    Python+Tensorflow+CNN實現(xiàn)車牌識別的示例代碼

    這篇文章主要介紹了Python+Tensorflow+CNN實現(xiàn)車牌識別的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • python eventlet綠化和patch原理

    python eventlet綠化和patch原理

    這篇文章主要介紹了python eventlet綠化和patch原理,幫助大家更好的理解和學(xué)習(xí)python eventlet工具的使用,感興趣的朋友可以了解下
    2020-11-11
  • 跟老齊學(xué)Python之集合(set)

    跟老齊學(xué)Python之集合(set)

    本文主要內(nèi)容是要向各位介紹一種新的數(shù)據(jù)類型:集合(set).徹底暈倒了,到底python有多少個數(shù)據(jù)類型呢?又多出來了一個.
    2014-09-09
  • Python Opencv圖像處理基本操作代碼詳解

    Python Opencv圖像處理基本操作代碼詳解

    這篇文章主要介紹了Python Opencv圖像處理基本操作代碼詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • django解決跨域請求的問題

    django解決跨域請求的問題

    這篇文章主要介紹了django解決跨域請求的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論

云阳县| 苏州市| 左云县| 密山市| 闽清县| 丁青县| 安新县| 鹤山市| 汉阴县| 天门市| 阿巴嘎旗| 墨江| 虎林市| 万载县| 石阡县| 屏东市| 买车| 介休市| 云梦县| 济阳县| 凤凰县| 日土县| 吐鲁番市| 南漳县| 郓城县| 县级市| 叶城县| 大埔区| 盐池县| 民和| 武功县| 那曲县| 望城县| 武宣县| 石首市| 法库县| 西安市| 望城县| 新源县| 山丹县| 山东省|