对于简单的配置,我已经使用ConfigParser很长一段时间了。有一件事困扰了我很长一段时间,那就是默认部分。我真的不确定什么是合适的用法。我已经阅读了文档,但我真的很想看到一些巧妙的例子来说明它的用法,以及它如何影响文件中的其他部分(一些真正说明了可能发生的事情的东西)。
发布于 2008-09-23 16:49:13
我在谷歌上搜索"windows ini“”默认部分“,找到了一个解释here。摘要:您放在默认节中的任何内容都会传播到每个其他节。使用链接网站中的示例,假设我有一个名为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'
阅读链接页面,了解在默认部分中使用变量替换以进一步简化INI文件的进一步示例。
https://stackoverflow.com/questions/124692
复制相似问题