一个不错的配置包
niceconf的Python项目详细描述
niceconf是stdlib rawconfigparser对象的dropin替代品。它使 解析和使用Python脚本中的配置文件 10倍的Python和乐趣。
默认情况下,它读写~/.conf。 如果$/CONF或$CONF中指定的文件不存在,它将是 在第一次导入时创建。
- 基本用法:
>>> from niceconf import config >>> config gmail my-database secret-stuff >>> config['gmail'] [gmail] username = rick@gmail.com password = wubalubadubdub >>> config['gmail']['username'] 'rick@gmail.com' >>> config['gmail']['password'] 'wubalubadubdub'
- 添加或设置配置文件选项:
>>> config['my-database']['port'] = 3306 >>> config['my-database']['port'] '3306'
- 删除配置文件选项:
>>> del config['secret-stuff']['burn-after-reading'] >>> config['secret-stuff']['burn-after-reading'] NoOptionError: No option 'burn-after-reading' in section: 'secret-stuff'
- 添加节(任何有效的dict like都可以添加为节):
>>> config['stackoverflow'] = {'username': 'guido', 'password': 'pa$$word1'} >>> config['stackoverflow'] [stackoverflow] username = guido password = pa$$word1
- 删除节:
>>> del config['stackoverflow'] >>> config['stackoverflow'] NoSectionError: No section: 'stackoverflow'
- 写入文件(默认覆盖):
>>> config.save()
- 读取另一个配置文件:
>>> config.read('/path/to/conf') ['/path/to/conf'] >>> config gmail my-database secret-stuff first_section_of_other_conf second_section_of_other_conf
- 将conf分解为函数参数
>>> print_kwargs(**config['gmail']) {'username': 'rick@gmail.com', 'password': 'wubalubadubdub'}
另外,config对象是rawconfigparser的一个实例,因此您可以 像以前一样使用这些方法。这意味着config是一个dropin 替换configparser。