更好的环保剂。

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第三方库


热门话题
如何将数据从浏览器拖放到具有自定义MIME类型的java swing应用程序中?   java JMockit:如何模拟受保护的方法?   java为什么待办事项已满时服务器socket连接未被拒绝?   java我应该如何并行化计算代价高昂的for循环并整理迭代结果?   java如何以不同的方式编写这部分代码?   java代码没有看到JTextField的值,尽管它显示在接口中   java我对Spring boot中的bean有问题   java在客户端使用CometD获取传输和EOF异常   如何在Java libGDX中正确地为游戏添加示意图   java捕获异常类型两次   java有没有办法在systemPath中使用变量来实现systemscope依赖关系?   在Java中导入多个类文件   java在Visual Studio代码中配置JDK   java我需要帮助在for循环中使用大写这个词,这个词不是用eclipse编写的,而是从txt文件导入的   JAVAutil。scanner类Java读取的输入值太多   java REST Web服务是否支持提供zip文件的范围标头?   java在java代码中生成安全的SQL