python环境工具链

python-envtools的Python项目详细描述


https://travis-ci.org/pedroburon/python-envtools.svg?branch=masterhttps://coveralls.io/repos/github/pedroburon/python-envtools/badge.svg?branch=master

python的有用环境工具链

覆盖环境

重写环境变量的上下文处理器。

>>> @override_environment(DEBUG=False, FOO="Bar")
>>> def foo():
>>>     print(os.getenv("FOO"))
>>>     return os.getenv("DEBUG")
>>> foo()
FOO
"DEBUG"
>>> with override_environment(DEBUG="False", FOO="Bar"):
>>>     print(os.getenv("FOO"))
>>>     os.getenv("DEBUG")
FOO
"DEBUG"

配置日志记录

在configure日志中包装一个configdict,那么日志级别可以由环境变量控制

LOGGING = configure_logging({
    "loggers": {
        "module": {
            "handlers": ["console"],
            "level": "INFO",
        },
    }
})

对于本例,环境变量必须设置为logging_level_module=debug

获取环境

类似于os.getenv(),但将字符串内容(默认)计算为简单的python类型。

>>> os.environ['FOO'] = "1"
>>> os.getenv('FOO')
"1"
>>> get_env('FOO')
1

>>> os.environ['FOO'] = "bar"
>>> get_env('FOO')
"bar"

>>> os.environ['FOO'] = "True"
>>> os.getenv('FOO')
"True"
>>> get_env('FOO')
True

>>> os.environ['FOO'] = "[1,2,3]"
>>> os.getenv('FOO')
"[1,2,3]"
>>> get_env('FOO')
[1, 2, 3]

它适用于列表、元组、字典、数字、布尔值和字符串。而且很安全!

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

推荐PyPI第三方库


热门话题
编译器构造为什么在Java中允许初始化对Null的引用?   java手动调用javax的actionPerformed。摆动计时器   使用git分支的java Maven版本控制   Java8句子流   java JPA OneToOne和OneToMany实体实例化/创建   java如何将值添加到列表<Map<String,Object>>?   java如何使用ComboBox在一个框架内更改JPanel。getSelectedIndex()   java在比较XML和xmlunit时忽略文本差异   java无法从其他pc连接到本地主机   Java中分配对象id的优雅方式   Java中静态变量的使用   java试图从Neteller获取OAuth访问令牌时产生错误:“服务器返回HTTP响应代码:401表示URL”   Java:基元类型是否会影响性能?   java可以让hasNext()不区分大小写吗?   基于AutoCompleteTextView建议属性或AutoCompleteTextView值的java Android搜索   java流文件到firefox浏览器有时无法打开应用程序对话框   在没有ArrayList的Java中返回数组中的搜索结果   复制java。木卫一。IOException:数据错误(CRC)   java为什么我在尝试删除Facebook测试用户时会出现“方法未实现”错误   java如何使用JNA调用SetProcessReliationPolicy