python 获取环境变量 - Go语言中文社区

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')

 

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/kangkangwanwan/article/details/86494342
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-30 11:25:56
  • 阅读 ( 1362 )
  • 分类:Go环境配置

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢