映射数据类和环境变量的库

envclasses的Python项目详细描述


                    | |
  ___ _ ____   _____| | __ _ ___ ___  ___  ___
 / _ \ '_ \ \ / / __| |/ _` / __/ __|/ _ \/ __|
|  __/ | | \ V / (__| | (_| \__ \__ \  __/\__ \
 \___|_| |_|\_/ \___|_|\__,_|___/___/\___||___/

envClass是一个位于dataClass之上的元编程库。 一旦在数据类中指定了envClass decorator, 它将生成dunder函数,该函数从 环境变量。这个功能非常有用 在一个像你想要覆盖现有配置的情况下 对于由环境变量中定义的应用程序。

要求

python=3.6.0

安装

  • 从pypi安装

    pip install envclasses
    
  • 从github安装开发版本

    pip install git+https://github.com/yukinarit/WebSocketSample.git
    

用法

  • 创建hoge实例

    fromtypingimportList,Dictfromdataclassesimportdataclass,fieldfromenvclassesimportenvclass,load_env@envclass@dataclassclassHoge:i:ints:strf:floatb:boollst:List[int]=field(default_factory=list)dct:Dict[str,float]=field(default_factory=dict)# Create an instance.hoge=Hoge(i=10,s='hoge',f=0.1,b=False)# Load values from environment variables.load_env(hoge,prefix='HOGE')print(hoge)
  • 运行

    $ python hoge.py
    
    Hoge(i=10, s='hoge', f=0.1, b=False, lst=[], dct={})
  • 通过环境变量覆盖hoge值

    $ exportHOGE_I=20
    $ exportHOGE_S=hogehoge
    $ exportHOGE_F=0.2
    $ exportHOGE_B=true
    $ exportHOGE_DCT="{key: 100.0}"
    $ exportHOGE_LST="[1, 2, 3]"
    $ python hoge.py
    
    Hoge(i=20, s='hogehoge', f=0.2, b=True, lst=[1, 2, 3], dct={'key': 100.0})

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

推荐PyPI第三方库


热门话题
如何下载多个。java中的PDF文件   linux Java打开文件,形成实际用户主页~/   java如何在时间线内维护TableView选择?   java Hibernate注释@Where vs@WhereJoinTable   Java读/写访问异常FileNotFoundException(访问被拒绝)   继承在Java中是否可以扩展最后一个类?   Android HttpClient使用java使应用程序崩溃。lang.OutOfMemoryError:pthread_create   java为什么即使我在proguardproject中添加了jar文件,也会出现这种错误。txt?   如果添加JButton,swing Java FocusListener和KeyListener将无法工作   java使用solrj检索json格式的SolrDocument   使用Microsoft Visual Studio代码进行Java编程   java NoClassDefFoundError:org/apache/log4j/Logger   哈希集中包含相等对象的java   java中的参数化构造函数是否需要有一个主体?   java类似于NetBeans不必要的代码检测器   Java实践问题   java Blackberry“[projectname].调试文件丢失”和“I/O错误:找不到程序”jar