python設置環境變量


原文鏈接:https://www.cnblogs.com/luocodes/p/10690246.html

設置臨時環境變量

import os

# 設置環境變量
os.environ['WORKON_HOME']="value"
# 獲取環境變量方法1
os.environ.get('WORKON_HOME')
#獲取環境變量方法2(推薦使用這個方法)
os.getenv('path')
# 刪除環境變量
del os.environ['WORKON_HOME']

其他key值:
os.environ['HOMEPATH']:當前用戶主目錄。
os.environ['TEMP']:臨時目錄路徑。
os.environ['PATHEXT']:可執行文件。
os.environ['SYSTEMROOT']:系統主目錄。
os.environ['LOGONSERVER']:機器名。
os.environ['PROMPT']:設置提示符。

永久環境變量

因為python沒辦法直接設置永久的環境變量,所以要借助命令行來實現

import os
path=r"E:\env"
command =r"setx WORK1 %s /m"%path
os.system(command)
/m代表系統變量。
不加/m為用戶變量

實戰

前提:我想通過啟動程序傳參來控制我的數據庫環境

解決:

1.在一個配置文件里面寫多個環境的配置,定義一個配置文件testcase.conf

[stage_sqlserver]
host = XXX
db = XXX
user = XXX
password = XXX
charset = utf8

[prod_sqlserver]
host = XXX
db = XXX
user = XXX
password = XXX
charset = utf8

2、在main.py函數中設置全局變量

if __name__ == '__main__':

    test_env = sys.argv[1]
    env = ["stage", "pre", "prod"]
    if test_env not in env:
        raise Exception("環境錯誤" + test_env)

    os.environ["test_env"] = test_env

3、把數據庫封裝成一個對象HandleMssql

    def __init__(self):
        env_mssql = os.getenv('test_env') + '_sqlserver'
        self.conn = pymssql.connect(do_config.get_data(env_mssql, 'host'),
                                    do_config.get_data(env_mssql, 'user'),
                                    do_config.get_data(env_mssql, 'password'),
                                    do_config.get_data(env_mssql, 'db'))
        # self.conn = pymssql.connect('Dev1.tutorabc.com', 'BdIms3Acct', 'n6Sp4phAWUp_', 'muchnewdb')
        self.cursor = self.conn.cursor()

4、在控制台輸入 python main.py stage

5、在這里要講下sys.argv

sys.argv[]就是從程序外部獲取參數的橋梁,得到的一個列表,列表的第一個酸雨是程序本身,其次才依次是外部給與的參數。

main.py
if
__name__ == '__main__': result = sys.argv # 得到的是程序本身+外部輸入參數的列表 for r in result: print(r)

在命令行輸入如下信息

 注意參數之間是用空格來區別的,如下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM