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

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


热门话题
maven字段#getGenericType()抛出java。lang.TypeNotPresentException   用java绘制三角形的几何图形   java无法下载主题和发件人地址(rediff)   java如何使代码线程安全   java在尝试转换FileInputStream中的文件时,我遇到了一个FileNotFound异常   java Moxy和Jackson如何将Json映射到Pojo   在foreach循环中使用BufferedWriter生成新行的java问题   java为什么我的测试在单次执行中运行时间小于1秒,而在maven构建中运行时间大于20秒?   java如何显示下载附件的进度条   了解java rmi的良好实践   .net可以将Java portlet嵌入ASP。网页?   循环如何多次执行Java方法?   java如何确保用户输入在给定的有效范围内?   java单元测试定理   java如何在IntelliJ上运行外部构建项目?   JAVA:试图编写一个检查字符串是否为数字的方法。总是返回错误   javahadoop将特定键的所有map方法生成的所有值都发送到一个reduce方法,对吗?   在java中读取和使用文件