Jer*_*ell 30 python parsing configuration-files
我已经使用ConfigParser很长一段时间来进行简单的配置.长期困扰我的一件事是DEFAULT部分.我不确定什么是合适的用途.我已经阅读了文档,但我真的希望看到一些巧妙的使用示例以及它如何影响文件中的其他部分(这些内容真正说明了可能的事情).
Joh*_*uhy 39
我发现了一个解释这里通过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
Run Code Online (Sandbox Code Playgroud)
我可以使用ConfigParser阅读:
>>> cp = ConfigParser.ConfigParser()
>>> cp.read('test1.ini')
['test1.ini']
>>> cp.get('host 1', 'lh_server')
'192.168.0.1'
Run Code Online (Sandbox Code Playgroud)
但我注意到两个部分中的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
Run Code Online (Sandbox Code Playgroud)
尽管部分没有lh_server键,我仍然可以访问它们:
>>> cp.read('test2.ini')
['test2.ini']
>>> cp.get('host 1', 'lh_server')
'192.168.0.1'
Run Code Online (Sandbox Code Playgroud)
阅读链接页面以获取在DEFAULT部分中使用变量替换的更多示例,以进一步简化INI文件.