未知
conf的Python项目详细描述
confy
=
实用灵活的配置加载器,使您的应用程序设置干净而性感。
……图片::https://badge.fury.io/py/confy.png
:目标:https://badge.fury.io/py/confy
…图片::https://api.travis-ci.org/jqb/confy.png?branch=master
:目标:https://travis ci.org/jqb/confy
…图片::https://coveralls.io/repos/jqb/confy/badge.png?branch=master
:目标:https://coveralls.io/r/jqb/confy?分支=主
…图片::https://pypip.in/d/confy/badge/badge.png
:target:https://crate.io/packages/confy/
>
>您可以在这里找到相关文档:https://confy.readthedocs.org/en/latest/
>
*python 2.6
*python2.7
*pytho3.2
*pytho3.3.3.3
idea很简单,并且由(可能不仅是)django
社区开发,但从未被标准化。这里是:
1)将您的配置保存在
settings/conf/config/<;中的单独python模块中,不管您如何称它为>;*module*如下::
settings/
nts
--development.py=>;更改/添加在开发中运行应用程序所需的所有内容
--production.py=>;更改/添加在生产中运行应用程序所需的所有内容
`--local.py=>;取决于您当前为自己工作的计算机的所有内容团队中的每个人)
安全性-将其从版本控制中删除
2)按照您希望获得
配置的顺序加载这些文件。使用环境变量来决定应加载哪些设置。假设变量名为"env",这里有
在settings/\uu init\uy
代码块::python
import os
confy=confy.loader(uu file_uu)
config=confy.merge(
confy.from_u modules('base',os.environ.get('env',development'),
confy.from_u modules('local',silent=true),
一天,您可以简单地导入它,并为您设置所有的链接。代码块::python
>;>from settings import config
>;>done!
>;
>;
这是基本的功能,但"confy"有很多功能可供选择。
why
--
1)我相信干净而优雅的解决方案。
<2)*.in i和"configparser"类似的解析器(例如来自塔架/金字塔)很好,但ISS很少。ue与它们一起:
=>;每个设置都有一个类型。而且您必须编写将文本更改为其他类型的代码。
=>;\uuu getitem\uu语法太冗长,实际上在某些情况下太冗长了
当您将配置/设置保存在简单的python文件中时,您不会遇到这个问题,但是没有标准化的
一个也是唯一一个保持和loa的好方法。d那些文件。
3)最近我发现了有趣的演示
(https://speakerdeck.com/brutasse/stop writing settings files)
关于从环境变量注入的配置。我喜欢这个想法(直到第12张幻灯片),但它与*ini
files
confy配置源有相同的问题,您只需从系统的任何位置从任何您想要的源加载配置即可。这使您在如何
和在何处保留配置方面具有灵活性。
。代码块::python
导入操作系统
import confy
confy=confy.loader(u file_uu)
config=confy.merge(
主要读取模块
confy.from_u modules('base',os.environ.get('env',development'),
confy.from_u modules('local',silent=true),\no com如果没有"local.py"
重新设置这不是问题
如果需要来自ini文件的其他数据-没有问题
confy.from廑ini('~/.project廑u sensitive廑data.ini',silent=true),
//cr.yp.to/daemontools/envdir.html)。
记住
变量可能相互覆盖。
=
实用灵活的配置加载器,使您的应用程序设置干净而性感。
……图片::https://badge.fury.io/py/confy.png
:目标:https://badge.fury.io/py/confy
…图片::https://api.travis-ci.org/jqb/confy.png?branch=master
:目标:https://travis ci.org/jqb/confy
…图片::https://coveralls.io/repos/jqb/confy/badge.png?branch=master
:目标:https://coveralls.io/r/jqb/confy?分支=主
…图片::https://pypip.in/d/confy/badge/badge.png
:target:https://crate.io/packages/confy/
>
>您可以在这里找到相关文档:https://confy.readthedocs.org/en/latest/
>
*python 2.6
*python2.7
*pytho3.2
*pytho3.3.3.3
idea很简单,并且由(可能不仅是)django
社区开发,但从未被标准化。这里是:
1)将您的配置保存在
settings/conf/config/<;中的单独python模块中,不管您如何称它为>;*module*如下::
settings/
nts
--development.py=>;更改/添加在开发中运行应用程序所需的所有内容
--production.py=>;更改/添加在生产中运行应用程序所需的所有内容
`--local.py=>;取决于您当前为自己工作的计算机的所有内容团队中的每个人)
安全性-将其从版本控制中删除
2)按照您希望获得
配置的顺序加载这些文件。使用环境变量来决定应加载哪些设置。假设变量名为"env",这里有
在settings/\uu init\uy
代码块::python
import os
confy=confy.loader(uu file_uu)
config=confy.merge(
confy.from_u modules('base',os.environ.get('env',development'),
confy.from_u modules('local',silent=true),
一天,您可以简单地导入它,并为您设置所有的链接。代码块::python
>;>from settings import config
>;>done!
>;
>;
这是基本的功能,但"confy"有很多功能可供选择。
why
--
1)我相信干净而优雅的解决方案。
<2)*.in i和"configparser"类似的解析器(例如来自塔架/金字塔)很好,但ISS很少。ue与它们一起:
=>;每个设置都有一个类型。而且您必须编写将文本更改为其他类型的代码。
=>;\uuu getitem\uu语法太冗长,实际上在某些情况下太冗长了
当您将配置/设置保存在简单的python文件中时,您不会遇到这个问题,但是没有标准化的
一个也是唯一一个保持和loa的好方法。d那些文件。
3)最近我发现了有趣的演示
(https://speakerdeck.com/brutasse/stop writing settings files)
关于从环境变量注入的配置。我喜欢这个想法(直到第12张幻灯片),但它与*ini
files
confy配置源有相同的问题,您只需从系统的任何位置从任何您想要的源加载配置即可。这使您在如何
和在何处保留配置方面具有灵活性。
。代码块::python
导入操作系统
import confy
confy=confy.loader(u file_uu)
config=confy.merge(
主要读取模块
confy.from_u modules('base',os.environ.get('env',development'),
confy.from_u modules('local',silent=true),\no com如果没有"local.py"
重新设置这不是问题
如果需要来自ini文件的其他数据-没有问题
confy.from廑ini('~/.project廑u sensitive廑data.ini',silent=true),
//cr.yp.to/daemontools/envdir.html)。
记住
变量可能相互覆盖。