用于配置python包的python包

donfig的Python项目详细描述


https://travis-ci.org/pytroll/donfig.svg?branch=masterhttps://ci.appveyor.com/api/projects/status/mx2xytb89voslo6h/branch/master?svg=truehttps://coveralls.io/repos/github/pytroll/donfig/badge.svg?branch=master

donfig是一个python库,旨在使其他 python包。donfig可以通过编程方式配置 环境变量,或来自标准位置的yaml文件。这个 下面的例子展示了使用donfig的基本知识。有关详细信息,请参见 官方的documentation

安装

可以使用pip从pypi安装donfig:

pip install donfig

或者使用Conda Forge频道:

conda install -c conda-forge donfig

使用donfig

为包创建名为mypkg的包范围配置对象:

# mypkg/__init__.pyfromdonfigimportConfigconfig=Config('mypkg')

使用配置对象:

frommypkgimportconfigimportant_val=config.get('important_key')ifimportant_val:# do somethingelse:# something else

在python中设置配置

在调用使用配置的代码之前,可以在python中对其进行修改:

# mypkg/work.pyfrommypkgimportconfigconfig.set(important_key=5)# use the configuration

donfig配置也可以作为上下文管理器进行更改:

config.set(other_key=True)withconfig.set(other_key=False):print(config.get('other_key'))# Falseprint(config.get('other_key'))# True

从环境变量配置

当配置对象为 创建。任何以配置名称开头的环境变量 所有大写字母和下划线中的对象将加载到 配置对象:

exportMYPKG_MY_KEY="a value"

并且可以在python中访问:

frommypkgimportconfigprint(config.get('my_key'))

从yaml文件配置

donfig还将自动加载在 特定路径。默认路径:

  • ~/.config/<;配置名称>;/
  • /etc/<;配置名称>;/
  • <;sys.prefix>;/etc/<;配置名称>;/

注意/etc/<;config name>;/目录也可以用 环境变量dask_root_config。还要注意 ~/.config/<;包名>;(或用dask_config指定的其他位置) 可以创建为自定义用户配置文件以方便用户 自定义(有关详细信息,请参阅文档)。

历史记录

donfig基于dask库的原始配置逻辑。 代码已修改为使用配置对象而不是全局 配置字典。这使得DASK的配置逻辑可用 对每个人。“donfig”是“dask.config”的缩写,它是 实现此功能的DASK模块。

许可证

DASK库的原始代码是在许可证下分发的 在dask_license.txt中指定。2018年11月,此代码迁移到 麻省理工学院许可下的donfig项目,如license.txt所述。全部 因此,本项目的版权为:

Copyright (c) 2018 Donfig Developers
Copyright (c) 2014-2018, Anaconda, Inc. and contributors

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

推荐PyPI第三方库


热门话题
java无法启动应用程序:JNLP错误   java根据用户输入在PreparedStatement中使用setTime()或setNull()   java EJB与同步   java以object为键通过hashmap进行搜索   java中的模10^9+7   针对包含其他对象的对象的java OOP最佳实践   如何将字符串作为HTML代码从Java文件读取到JSP页面?   java我的POM怎么了?“解析表达式..检测到递归表达式循环”   用于Hbase的Mapreduce的java NoSuchMethodError   JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.Intent.action.MAIN cat=[安卓.Intent.category.LAUNCHER]   数组初始化谜语Java   通过arraylist搜索时的java句柄关联