ConfigParser使用的配置文件中的默认部分的预期用途是什么?

2024-04-25 01:51:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用ConfigParser进行简单配置已经有一段时间了。有一件事困扰了我很长一段时间,那就是默认部分。我不确定什么是合适的用途。我已经阅读了文档,但是我真的很想看到一些使用它的聪明例子,以及它如何影响文件中的其他部分(一些真正说明了可能的事情)。


Tags: 文件文档事情用途configparser例子
1条回答
网友
1楼 · 发布于 2024-04-25 01:51:54

我通过搜索“windows ini”“default section”找到了一个解释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úu服务器在这两个部分中都是相同的;而且,实际上,我意识到对于我可能添加的大多数主机来说,它都是相同的。所以我可以这样做,作为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_服务器密钥,但我仍然可以访问它们:

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

请阅读链接页,以获得在默认部分使用变量替换以进一步简化INI文件的示例。

相关问题 更多 >