用于读取和写入环境变量的模块。

envitro的Python项目详细描述


从操作系统环境变量中读取值的模块。

与使用os.getenv()相比,该模块提供了方便的功能, 用于分析基本数据类型。它还允许指定可选的默认值,如果 环境变量不存在。基本环境变量解析和 也要进行消毒。

用法

importosimportenvitro# fails when environment variables are missingbool_required=envitro.bool("BOOL_ENV")int_required=envitro.int("INTEGER_ENV")float_required=envitro.float("FLOAT_ENV")str_required=envitro.str("STRING_ENV")# basic sanitizingos.environ["STR_ENV"]="  var with spaces  "envitro.str("STR_ENV")# returns "var with spaces"# falls back to defaultsbool_default=envitro.bool("BOOL_NOT_FOUND",default=False)int_default=envitro.int("INTEGER_NOT_FOUND",default=42)float_default=envitro.float("FLOAT_NOT_FOUND",default=42.44)str_default=envitro.str("STRING_NOT_FOUND",default="my_default")# try multiple fallback ENV variablesos.environ["FALLBACK_ENV"]="fallback_val"single_fallback=envitro.str("MISSING",fallback="FALLBACK_ENV")multiple_fallback=envitro.str("MISSING",fallback=["FALL_MISSING_1","FALL_MISSING_2","FALLBACK_ENV"])# get and set raw environment variablesenvitro.write("EXISTING_VAR",None)# clear the environment variableenvitro.write("RAW_STRING"," raw_string ")envitro.read("RAW_STRING")# returns " raw_string "envitro.read("MISSING_RAW_STRING",default=" defaultval ")# returns " defaultval "# lists/tuplesos.environ["LIST_ENV"]="item1,item2,item3"list_required=envitro.list("LIST_ENV")# returns ["item1", "item2", "item3"]tuple_required=envitro.tuple("LIST_ENV")# returns ("item1", "item2", "item3")os.environ["LIST_ENV2"]="item1;item2;item3"list_required2=envitro.list("LIST_ENV2",separator=";")# returns ["item1", "item2", "item3"]tuple_required2=envitro.tuple("LIST_ENV2",separator=";")# returns ("item1", "item2", "item3")# utility functionsenvitro.isset("MAYBE_SET_VARIABLE")# return True/False

装饰工

还有一些装饰器可以根据环境选择性地启用或禁用函数。 变量。

importenvitro@envitro.decorators.isset('ALLOW_FOO')deffoo():return"Hello World"envitro.write('ALLOW_FOO','1')foo()# allowedenvitro.write('ALLOW_FOO',None)foo()# return "None" and is not executed@envitro.decorators.bool('ALLOW_REMOTE')defget_remote(arg1,arg2):returncall_remote_service(arg1,arg2)envitro.write('ALLOW_REMOTE','True')get_remote('hello','world')# calls remote serviceenvitro.write('ALLOW_REMOTE','False')get_remote('hello','world')# returns "None" and is not executed

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

推荐PyPI第三方库


热门话题
java如何在表被注释到配置之前获取表的元数据?   java滚动条不会出现在JList上   java JOGL监视器GPU内存   java为什么要使用RecyclerView onDraw延迟   java定制Oppo Reno 2 Z CPH1951(手机型号)的固件(闪存文件)   java自定义线程池执行器   java如何解决发布版本中重复的jar条目[com/安卓/volley/R.class]?   java如何使用Bukkit API触发事件?   java在blazemeter jmeter RTE插件中使用ctrl+w输入   C#/Visual Studio的java JDT等价物   java为什么当maxread值很大而收到的消息数量很小时,卡夫卡消费者会无限期消费?   java游戏2。x:包含模板列表的绑定模型   带压缩的java日志旋转   运行时。exec用java运行程序读取它正在做什么