簡體   English   中英

在ConfigParser使用的配置文件中,DEFAULT部分的用途是什么?

[英]What is the intended use of the DEFAULT section in config files used by ConfigParser?

我已經使用ConfigParser很長一段時間來進行簡單的配置。 長期困擾我的一件事是DEFAULT部分。 我不確定什么是合適的用途。 我已經閱讀了文檔,但我真的希望看到一些巧妙的使用示例以及它如何影響文件中的其他部分(這些內容真正說明了可能的事情)。

我發現了一個解釋這里通過google搜索“窗口INI”,“默認部分”。 總結:您在[DEFAULT]部分放置的任何內容都會傳播到其他每個部分。 使用鏈接網站上的示例,假設我有一個名為test1.ini的配置文件:

[host 1]
lh_server=192.168.0.1
vh_hosts = PloneSite1:8080
lh_root = PloneSite1

[host 2]
lh_server=192.168.0.1
vh_hosts = PloneSite2:8080
lh_root = PloneSite2

我可以使用ConfigParser閱讀:

>>> cp = ConfigParser.ConfigParser()
>>> cp.read('test1.ini')
['test1.ini']
>>> cp.get('host 1', 'lh_server')
'192.168.0.1'

但我注意到兩個部分中的lh_server是相同的; 事實上,我意識到對於我可能添加的大多數主機來說都是一樣的。 所以我可以這樣做,就像test2.ini:

[DEFAULT]
lh_server=192.168.0.1

[host 1]
vh_root = PloneSite1
lh_root = PloneSite1

[host 2]
vh_root = PloneSite2
lh_root = PloneSite2

盡管部分沒有lh_server鍵,我仍然可以訪問它們:

>>> cp.read('test2.ini')
['test2.ini']
>>> cp.get('host 1', 'lh_server')
'192.168.0.1'

閱讀鏈接頁面以獲取在DEFAULT部分中使用變量替換的更多示例,以進一步簡化INI文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM