您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Python環境變量的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Python環境變量具有一個強大靈活的工業級的記錄模塊,該模塊能夠在不同的層次把消息記錄到任意位置,例如內存、文件、網絡和控制臺等。要想使用該模塊,需要進行必要的配置。
對于那些想要提供日志記錄的程序庫,可以選擇讓用戶使用程序庫的默認配置(這樣不會打擾用戶),或者選擇讓用戶親自配置日志記錄功能。當然,如果您是一位程序庫開發人員的話,***替用戶搭理好一切,而不是去惹他們討厭。那么,你的程序庫配置本身應該做哪些設置呢?
這里有兩個常見的選項:將記錄寫到一個文件中,或者寫到控制臺。不過這兩個選項都會導致混亂。直到Python環境變量,***實踐要求程序庫開發人員包含一個小型的do-nothing處理程序。
并配置它的logger使用這個處理程序。Python 3.1將這種NullHandler作為記錄模塊本身的一部分。下面我們舉例進行說明。假設您的lib.py模塊中含有下面所示的程序庫代碼。這里有一個接收日志記錄處理程序的init()函數,但是默認時接收的卻是新的NullHandler。
之后,將logger對象設置為使用提供的logger(或者默認的logger)。日志記錄處理程序是一個對象,它確定把記錄輸出到何處。這里的示例函數a_function_that_uses_logging()調用了全局logger對象,并記錄一些有趣的消息:
import HTMLParser import urllib import sys #定義HTML解析器 class parseLinks(HTMLParser.HTMLParser): def handle_starttag(self, tag, attrs): if tag == 'a': for name,value in attrs: if name == 'href': print value print self.get_starttag_text() #創建HTML解析器的實例 lParser = parseLinks() #打開HTML文件 lParser.feed(urllib.urlopen( \ "http://www.python.org/index.html").read()) lParser.close()
為此,我們的代碼將此處理程序配置為每個日志文件只保存250字節內容,并且最多維護5個備份文件。***,代碼調用a_function_that_uses_logging()函數。下面的應用程序代碼配置了一個回旋式文件處理程序,這是一個改進過的處理程序,可用于長期運行的系統,因為這些系統會生成大量的日志信息。
此處理程序會限制每個文件中日志記錄信息的數量,并且還保持了一個備份文件的預設數量。這些限制能夠保證日志文件不會超過規定尺寸,并且總是保留(達到此限制之前的)***的日志記錄信息。
這種做法很好,因為有時候用戶并不關心記錄的消息——他們想要的是在調用函數時無需配置logger,并且這些日志不會耗盡他們的硬盤空間,也不會出現滿屏的消息。這時,NullHandler正好可以派上用場。
下面的代碼所做的事情與上面一致,不過它并沒有配置日志記錄處理程序,所以也就得不到日志記錄結果。注意,這里沒有導入logging和logging.handlers,并且也沒有確定使用哪個處理程序以及如何對Python環境變量說明。
關于“Python環境變量的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。