首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

python--读取环境变量(1)

python--读取环境变量(1)

python中经常会通过环境变量来进行参数传递和环境配置。

本章记录读取环境变量的方案
设置环境变量

首先设置环境变量

$ export ENV_PORT=3333
$ echo $ENV_PORT
3333


方案一 os读取
os直接读取

使用os获取环境变量字典

import os
os.getenv('ENV_PORT')
os.environ.get('ENV_PORT')
os.environ['ENV_PORT']


打印所有环境变量,遍历字典

import os
env_dist = os.environ # environ是在os.py中定义的一个dict environ = {}
for key in env_dist:
    print key + ' : ' + env_dist[key]



通过文件中转环境变量

方法如下:

import os
import ConfigParser

cf = ConfigParser.ConfigParser()
cf.read('test.conf')

def resolveEnv(con):
    if con.startswith('ENV_'):
        return os.environ.get(con)
    return con

def main():
    host = resolveEnv(cf.get('db', 'host'))
    port = resolveEnv(cf.get('db', 'port'))

    print 'host:%s' % host
    print 'port:%s' % port

if __name__ == "__main__":
    main()



查看一下配置文件:

$ cat test.conf
[db]
host = 1.2.3.4
port = ENV_PORT



读取配置文件:

$ python test.py
host:1.2.3.4
port:3333
返回列表