忘记configparser、yaml或json解析器。关注配置。

configmanager的Python项目详细描述


2019-05-13更新:1.35及以上版本需要python 3.6+。

update on 2018-10-20:我不再使用此库。它试图做太多的事情。它是写在 Python2.7和Python3一起工作。在Python3.6中有类型提示、数据类和许多其他很酷的特性+ 你可以用比这更好的方式表达同样的东西。


https://travis-ci.org/jbasko/configmanager.svg?branch=master

不要让标准库的configparser驱动配置值访问设计。让它做它该做的 最佳–解析和写入配置文件。让configmanager来做剩下的事情。

主要功能

  • 每个配置项都是具有类型、默认值、自定义值和其他元数据的对象
  • 无需节
  • 允许的任何截面深度
  • ini(configparser)、json、yaml格式
  • 单击“框架集成”

快速启动

使用pip install configmanager从python包索引安装。

声明您的配置、源代码,然后离开。 记住,每个配置项都是一个对象,而不仅仅是一个普通的 配置值。 如果不需要配置项的丰富功能, 改用configmanager.PlainConfig

importwarningsfromconfigmanagerimportConfigconfig=Config({'uploads':{'threads':1,'enabled':False,'db':{'user':'root','password':{'@default':'root','@envvar':'MY_UPLOADER_DB_PASSWORD',},}}},load_sources=['/etc/my-uploader/config.ini','~/.config/my-uploader/config.json',],auto_load=True)ifconfig.uploads.db.user.is_default:warnings.warn('Using default db user!')ifconfig.uploads.enabled.get():connect_to_database(user=config.uploads.db.user.get(),password=config.uploads.db.password.get(),)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java类之间并发性不一致的HashMap   插件如何在JavaSwing中使用UIManager和Classloader从外部jar安装外观?   java JasperReports:找不到子报表   在项目中找不到java生成的Javadoc文件   java BigDecimal。multiply()和divide()方法返回十六进制数。为什么?   java统计出现次数并从字符串中删除重复项   调用运算符时发生java NullPointerException   Spring和Hibernate之间的java配置错误   JavaZK将用户重定向回上一页   Javasocket为传出连接指定特定的网络接口   如果拖动到某个区域外,java Make按钮操作将被取消   如何在Eclipse for selenium 3.141.59中添加Java文档链接   java从匹配条件的数组中获取所有索引   docker未连接到RemoteWebDriver的java Gitlab ci selenium测试   java重写run方法   utf 8如何使用java解码UTF8编码的字符串?   java如何从eclipse调试部署在tomcat上的web应用程序?   将字母字符与前面没有百分号的Java正则表达式匹配