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

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 JPanel不会对键绑定做出反应   当时间大于零时,不得在UI线程上调用java Await   JTextArea的java线程安全。追加   Java用户输入的字和行计数器   java以spreedsheat格式将数据保存到文件中   java构造函数的意义是什么?   java findViewById返回null,尽管组件的ID存在   java如何向按钮添加图像   java如何中断ExecutorService的线程   java如何将属性(例如枚举)绑定到不同类型的组件属性(例如每个枚举的映像)?   随机森林分类器的java实现   html使用java连接到一个站点并发布,HTTP状态代码200   从类访问属性时发生java编译错误   Java自动填充ArrayList,搜索更好的选项