python 获取环境变量
python 获取环境变量
用Python Shell设置或获取环境变量的方法:
一、设置系统环境变量
1、os.environ['环境变量名称']='环境变量值' #其中key和value均为string类型
2、os.putenv('环境变量名称', '环境变量值')
二、获取系统环境变量
1、os.environ['环境变量名称']
2、os.getenv('环境变量名称')
环境变量vi /etc/profile
……
export BDP_TEST=true
export BDP_ENV=test
python工程使用方法
import os
# 使用os.environ获取环境变量字典,environ是在os.py中定义的一个dict environ = {}
env_dist = os.environ
# 打印所有环境变量,遍历字典
for key in env_dist:
print key + ' : ' + env_dist[key]
# 判断环境变量是否包含
if 'BDP_ENV' in os.environ and os.getenv('BDP_ENV') == 'prod':
DB_CONFIG = '/data/BdpAirflowWorker/config/db_config.ini'
elif 'BDP_ENV' in os.environ and os.getenv('BDP_ENV') == 'test':
DB_CONFIG = '/data/BdpAirflowWorker/config/db_config_test.ini'
else:
DB_CONFIG = '/Users/tangtao/PycharmProjects/BdpAirflowWorker/config/db_config_test.ini'
用例:
1.在config目录下新建config/db_config.ini和config/db_config_test.ini文件,存储系统配置信息
配置文件(INI文件)由节(section)、键、值组成。配置文件中用的是等号,也可以用冒号
[gp_furion]
host = 10.9.155.161
port = 5432
user = api_crm
passwd = 38211639
database = furion
[gp_susuan]
host = 10.9.104.200
port = 5432
user = api_panshi
passwd = pan!@#shi34(+)
database = octopus_susuan
2.增加公共方法Utils/config.py
configParser 模块用于操作配置文件,创建一个对象使用对象的方法对指定的配置文件做增删改查 操作。
创建ConfigParser实例:config=ConfigParser.ConfigParser()
返回section节中,option的键值:config.get(section,option)
读取配置文件:config.read(filename)
import os
import configparser
if 'BDP_PROD' in os.environ:
DB_CONFIG = 'config/db_config.ini'
else:
DB_CONFIG = 'config/db_config_test.ini'
class bdp_config_parse:
def __init__(self, default_config):
self._config = configparser.ConfigParser()
self._config.read(default_config)
print default_config
print str(os.curdir)
def get(self,section, key):
return self._config.get(section, key)
def getint(self, scetion, key):
return self._config.getint(scetion, key)
db_conf = bdp_config_parse(DB_CONFIG)
3.使用环境变量配置
from Utils import config
class PrestoConnection:
HOST = config.db_conf.get('presto_susuan', 'host')
PORT = config.db_conf.getint('presto_susuan', 'port')
USER = config.db_conf.get('presto_susuan', 'user')
CATALOG = config.db_conf.get('presto_susuan', 'catalog')
SCHEMA = config.db_conf.get('presto_susuan', 'schema')
PASSWORD = config.db_conf.get('presto_susuan', 'passwd')
DATABASE = config.db_conf.get('presto_susuan', 'database')
最新文章
- bmp格式图片缩放(位图缩放)
- KPM算法实现
- 【dubbo】(一) dubbo是什么?
- jkd的安装与配置
- 【搜索】【Meet in the middle】世界冰球锦标赛Ice Hockey World Championship
- 《棒球殿堂》:棒球联盟LEAGUE·埼玉西武狮
- SQLyog 最新版本12.5
- 什么是NFS服务器
- pareto最优解程序
- Nginx如何均衡负载
- 基于Redis的消息中心缓存搭建
- java 数据可视化
- c++ grpc compress(deflate算法) demo编译
- tflearn在tensorflow上的安装配置(基于ubuntu)
- 结构体嵌套结构体,及其的初始化
- JavaScript 函数 Call的使用
- Lock和Rlock