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

python中屏蔽輸出示例詳解

 更新時間:2024年05月29日 14:49:41   作者:JHW5981  
python中屏蔽輸出包含屏蔽標準輸出(比如打印出來的內容)、屏蔽標準錯誤(錯誤信息)還有屏蔽logging信息等,這篇文章主要介紹了python中屏蔽輸出,需要的朋友可以參考下

python中屏蔽輸出包含屏蔽標準輸出(比如打印出來的內容)、屏蔽標準錯誤(錯誤信息)還有屏蔽logging信息等。

屏蔽標準輸出

import contextlib
import os
with open(os.devnull, "w") as devnull:
    with contextlib.redirect_stdout(devnull):
        print("Hello, World!")

運行上面的代碼會發(fā)現,沒有任何輸出,因為`redirect_stdout`表示將標準輸出的內容給定義到devnull去了,`os.devnull`是一個特殊的文件路徑,在Unix-like系統(tǒng)上通常是`/dev/null`,在Windows上是`NUL`。它的作用是丟棄所有寫入其中的數據。

屏蔽標準錯誤

屏蔽標準錯誤只需要把上面代碼中的`stdout`改成`stderr`就好了。

可以看到屏蔽標準錯誤不會屏蔽標準輸出,但是屏蔽標準輸出不是屏蔽異常,

異常該顯示還顯示,屏蔽異常的話,就目前我了解只有用try-except了。

上面的是正常的,將輸出寫到標準錯誤里是可以屏蔽的,但是好像很少有人會這么寫吧。。。

而且`print("xxx" file=sys.stdout)`和`print("xxx", file=sys.stderr)`貌似沒有什么區(qū)別,都將“xxx”打印到控制臺,關于此,chatgpt是這樣解釋的

反正我是覺得這個屏蔽標準錯誤的用法有點子雞肋。

屏蔽logging信息

屏蔽logging也是很常用的,上面的方法對logging信息沒有用,需要logging本身的設置

將logging的handler直接置空還是有l(wèi)ogging信息被打印出來,原因是,代碼中,即使你清除了 `logger.handlers` 列表,`logging `模塊可能會自動添加一個默認的處理器來處理日志消息。默認情況下,日志消息等級為 `WARNING `及以上的消息會被顯示在控制臺上。這解釋了為什么你仍然看到 `WARNING `及以上級別的消息。

如果要完全屏蔽到logging的信息,需要自己寫個handler,加進去

這下啥都沒有了。當然也可以在`emit`這個函數里面對record進行一些處理,其中record有哪些屬性可用呢?這里給出一個可以查record屬性的代碼示例

import logging
class NullHandler(logging.Handler):
    def emit(self, record):
        # 獲取所有屬性并打印
        for attr in dir(record):
            if not attr.startswith('__'):
                print(f'{attr}: {getattr(record, attr)}')
        pass
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger()
logger.handlers = []
logger.addHandler(NullHandler())
logger.debug("This debug message will be discarded.")

到此這篇關于python中屏蔽輸出的文章就介紹到這了,更多相關python屏蔽輸出內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • peewee創(chuàng)建連接前的前置操作wireshark抓包實現

    peewee創(chuàng)建連接前的前置操作wireshark抓包實現

    這篇文章主要為大家介紹了peewee創(chuàng)建連接前的前置操作wireshark?抓包實現示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • flask庫中sessions.py的使用小結

    flask庫中sessions.py的使用小結

    在Flask中Session是一種用于在不同請求之間存儲用戶數據的機制,Session默認是基于客戶端Cookie的,但數據會經過加密簽名,防止篡改,下面就來具體介紹一下如何使用
    2025-07-07
  • python中時間模塊的基本使用教程

    python中時間模塊的基本使用教程

    這篇文章主要給大家介紹了關于python中時間模塊的基本使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • 使用用Pyspark和GraphX實現解析復雜網絡數據

    使用用Pyspark和GraphX實現解析復雜網絡數據

    GraphX是Spark提供的圖計算API,它提供了一套強大的工具,這篇文章將詳細為大家介紹如何在Python?/?pyspark環(huán)境中使用graphx進行圖計算,感興趣的可以了解下
    2024-01-01
  • python將字符串列表轉換為數值列表的幾種方法

    python將字符串列表轉換為數值列表的幾種方法

    這篇文章主要介紹了python將字符串列表轉換為數值列表的幾種方法,包括使用map()和float()/int()、列表推導式、pandas庫以及numpy庫,每種方法都有其適用場景,如小型列表、靈活轉換、處理復雜數據集和大規(guī)模數據計算等,需要的朋友可以參考下
    2025-04-04
  • Pycharm遠程連接服務器跑代碼的實現

    Pycharm遠程連接服務器跑代碼的實現

    本文主要介紹了Pycharm遠程連接服務器跑代碼的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • python中的與時間相關的模塊應用場景分析

    python中的與時間相關的模塊應用場景分析

    本文介紹了Python中與時間相關的幾個重要模塊:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateutil`,并詳細闡述了每個模塊的主要功能和使用方法,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2024-12-12
  • 關于Python網絡爬蟲框架scrapy

    關于Python網絡爬蟲框架scrapy

    這篇文章主要介紹了關于Python網絡爬蟲框架scrapy,爬蟲框架是實現爬蟲功能的一個軟件結構和功能組件的集合,需要的朋友可以參考下
    2023-04-04
  • 關于Python中compile() 函數簡單實用示例詳解

    關于Python中compile() 函數簡單實用示例詳解

    這篇文章主要介紹了關于compile() 函數簡單實用示例,compile() 函數將一個字符串編譯為字節(jié)代碼,compile將代碼編譯為代碼對象,應用在代碼中可以提高效率,本文通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • Tensorflow2.4從頭訓練Word?Embedding實現文本分類

    Tensorflow2.4從頭訓練Word?Embedding實現文本分類

    這篇文章主要為大家介紹了Tensorflow2.4從頭訓練Word?Embedding實現文本分類,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01

最新評論

常宁市| 辉县市| 博野县| 巴塘县| 柳河县| 呼玛县| 临朐县| 克拉玛依市| 大新县| 桂林市| 本溪| 邢台县| 上饶市| 鹿泉市| 拉萨市| 扎鲁特旗| 南汇区| 景洪市| 静安区| 始兴县| 焦作市| 通河县| 三原县| 平昌县| 武宣县| 盐津县| 裕民县| 福贡县| 繁昌县| 香河县| 新巴尔虎右旗| 榆树市| 镇远县| 高平市| 渭南市| 梅河口市| 鲁甸县| 永德县| 屏山县| 荆州市| 长兴县|