Python配置解析器,支持部分继承?

Maa*_*amp 12 python ini config

我正在寻找一个Python中的ini样式配置解析器,它支持类似于Zend_Config_Ini在PHP中的部分继承.

这样的模块是存在还是我需要自己动手?

tuo*_*mur 15

Python的ConfigParser可以加载多个文件.稍后读取的文件可以覆盖第一个文件中的设置.

例如,我的应用程序在其内部默认配置文件中具有数据库设置:

[database]
server = 127.0.0.1
port = 1234
...
Run Code Online (Sandbox Code Playgroud)

我在具有"environment.ini"文件的不同服务器上覆盖这些文件,该文件包含相同的部分但不同的值:

[database]
server = 192.168.0.12
port = 2345
...
Run Code Online (Sandbox Code Playgroud)

在Python中:

import os
from ConfigParser import ConfigParser
dbconf = ConfigParser()
dbconf.readfp(open('default.ini'))
if os.path.exists('environment.ini'):
    dbconf.readfp(open('environment.ini'))
dbconf.get('database', 'server') # Returns 192.168.0.12
Run Code Online (Sandbox Code Playgroud)

  • 是的,我实现了一个满足我的要求(Zend_Config_Ini样式)并尽可能转换为python本机类​​型.见[https://bitbucket.org/maascamp/pyconfigini ](https://bitbucket.org/maascamp/pyconfigini).希望能帮助到你. (3认同)