更好的环保剂。

easy-env的Python项目详细描述


https://travis-ci.org/vaniakosmos/easy_env.svg?master

在env vars上实现公共操作,例如读取布尔值和整数。

安装

pip install easy_env

用法

importosimporteasy_env# setup env varssetup_vars=[('int','42'),('float','42.9'),('bool','yes'),('str','foo bar'),('bytes','Zm9v'),# base64 encoded b'foo'('list','1,2,3'),('list2','4 5 6'),]forvar,valueinsetup_vars:os.environ[var]=value# get varasserteasy_env.get_int('int')==42asserteasy_env.get_float('float')==42.9asserteasy_env.get_bool('bool')isTrueasserteasy_env.get_str('str')=='foo bar'asserteasy_env.get_bytes('bytes')==b'foo'asserteasy_env.get_list('list')==['1','2','3']# get w/ defaultasserteasy_env.get_int('NEW_VAR',5)==5# get w/o defaultasserteasy_env.get_int('NEW_VAR')isNone# get w/o default and raise exceptiontry:easy_env.get_int('NEW_VAR',raise_error=True)assertFalseexceptKeyError:assertTrue# get list of integersasserteasy_env.get_list('list',item_factory=int)==[1,2,3]# get list w/ another separatorasserteasy_env.get_list('list2',separator=' ')==['4','5','6']# detect type based on type of defaultasserteasy_env.get('int',1)==42asserteasy_env.get('int')=='42'asserteasy_env.get('float',1.0)==42.9asserteasy_env.get('bool',False)isTrueasserteasy_env.get('bytes',b'')==b'foo'asserteasy_env.get('list2',default=[],separator=' ')==['4','5','6']# set inteasy_env.set_int('int_var',42)assertos.getenv('int_var')=='42'# set floateasy_env.set_float('float_var',42.0)assertos.getenv('float_var')=='42.0'# set booleasy_env.set_bool('bool_var',True)assertos.getenv('bool_var')=='1'easy_env.set_bool('bool_var',False)assertos.getenv('bool_var')=='0'# set stringeasy_env.set_str('str_var','foo bar')assertos.getenv('str_var')=='foo bar'# set byteseasy_env.set_bytes('bytes_var',b'foo')assertos.getenv('bytes_var')=='Zm9v'# set listeasy_env.set_list('list_var',[1,2,3])assertos.getenv('list_var')=='1,2,3'easy_env.set_list('list_var',[1,2,3],separator=' ')assertos.getenv('list_var')=='1 2 3'easy_env.set_list('list_var',[1,2,3],serializer=lambdax:str(x-1))assertos.getenv('list_var')=='0,1,2'

欢迎加入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