忘记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附加两个数组   java如何在Extjs的不同页面中使用相同的存储   java Jung,大顶点的布局重叠,图形出现在奇怪的位置   java如何在Android中通过画布绘制圆?   java验证库设计模式选择   java研磨机未知标记“timedTests”   java Android领域子类实例方法   java使用resteasy/jaxrs从请求负载接收两种类型的数据   缓冲策略Java缓冲策略有时不能正确绘制   java跟踪棋子   密度无关像素如何在java中锐化图像缩略图?   java如何在MongoDB更新查询中编写(或)更新   java A*寻路游戏系统退出问题   java在安卓中读取xml的最佳方式是什么?   通过反射调用的方法的java抑制警告   安卓 java。语言错误:信号11(SIGSEGV),代码10(?),故障地址006e006f   java lombok 1.18.2使用DexBuilderForDebug抛出TransformClasses   java JOptionPane CD对话框按钮?   java只返回json中的一些值,而不是完整实体对象   java包不存在错误,请稍后重试