python获取系统环境变量|os.environ|os.putenv|cmd添加环境变量

文章目录

1. 背景介绍

什么是环境变量,环境变量是程序和操作系统之间的通信方式。有些字符不宜明文写进代码里,比如数据库密码,个人账户密码,如果写进自己本机的环境变量里,程序用的时候通过os.environ.get()取出来就行了。这样开发人员本机测试的时候用的是自己本机的一套密码,生产环境部署的时候,用的是公司的公共账号和密码,这样就能增加安全性。os.environ是一个字典,是环境变量的字典。"PALM_JS_ADDRESS"是这个字典里的一个键,如果有这个键,返回对应的值,如果没有,则返回none

从一段code说起 “if “BATCH_CONFIG_INI” in os.environ:” 判断环境变量的值有没有定义。
如果定义的话就去环境变量的值,否则就取当前目录下的config.ini文件。

if "BATCH_CONFIG_INI" in os.environ:
   print "Using custom ini file!"
   self.inifile = os.environ["BATCH_CONFIG_INI"]
else:
   self.inifile = self.cur_file_dir() + "/config.ini"
   self.db_print ("inifile = (%s)" %(self.inifile))

用Python Shell设置或获取环境变量的方法:

  1. 设置系统环境变量
    os.environ[‘环境变量名称’]=‘环境变量值’ #其中key和value均为string类型
    os.putenv(‘环境变量名称’, ‘环境变量值’)

  2. 获取系统环境变量
    os.environ[‘环境变量名称’]
    os.getenv(‘环境变量名称’)

2. python|os.environ代码

>>> import os
 
>>> os.environ.keys()
['LC_NUMERIC', 'GOPATH', 'GOROOT', 'GOBIN', 'LESSOPEN', 'SSH_CLIENT', 'LOGNAME', 'USER', 'HOME', 'LC_PAPER', 'PATH', 'DISPLAY', 'LANG', 'TERM', 'SHELL', 'J2REDIR', 'LC_MONETARY', 'QT_QPA_PLATFORMTHEME', 'JAVA_HOME', 'SHLVL', 'XDG_RUNTIME_DIR', 'LC_ADDRESS', 'COMP_WORDBREAKS', 'J2SDKDIR', 'XDG_DATA_DIRS', 'XDG_SESSION_ID', '_', 'LC_IDENTIFICATION', 'DERBY_HOME', 'SSH_CONNECTION', 'LESSCLOSE', 'SSH_TTY', 'LC_TELEPHONE', 'LC_MEASUREMENT', 'PWD', 'LC_NAME', 'MAIL', 'LC_TIME', 'LS_COLORS']
 
#访问
>>> os.environ.get('PWD')
'/home/gsadmin'
 
>>> os.environ['PWD']
'/home/gsadmin'
 
# 设置
>>> os.environ.setdefault('ASID', "sadasd")
'sadasd'
 
>>> os.environ.keys()
['LC_NUMERIC', 'ASID', 'GOPATH', 'GOROOT', 'GOBIN', 'LESSOPEN', 'SSH_CLIENT', 'LOGNAME', 'USER', 'HOME', 'LC_PAPER', 'PATH', 'DISPLAY', 'LANG', 'TERM', 'SHELL', 'J2REDIR', 'LC_MONETARY', 'QT_QPA_PLATFORMTHEME', 'JAVA_HOME', 'SHLVL', 'XDG_RUNTIME_DIR', 'LC_ADDRESS', 'COMP_WORDBREAKS', 'J2SDKDIR', 'XDG_DATA_DIRS', 'XDG_SESSION_ID', '_', 'LC_IDENTIFICATION', 'DERBY_HOME', 'SSH_CONNECTION', 'LESSCLOSE', 'SSH_TTY', 'LC_TELEPHONE', 'LC_MEASUREMENT', 'PWD', 'LC_NAME', 'MAIL', 'LC_TIME', 'LS_COLORS']
 
>>> os.environ.get("ASID")
'sadasd'
 
# 设置一个临时的变量
>>> os.environ.get("Aasdasd", "asdsad")
'asdsad'
>>> os.environ.get("Aasdasd", "[sadsdsad]")
'[sadsdsad]'
 
# 修改
os.environ["PWD"] = "test"
 
# 删除
>>> del(os.environ["ASID"])
 
>>> os.environ.keys()
['LC_NUMERIC', 'GOPATH', 'GOROOT', 'GOBIN', 'LESSOPEN', 'SSH_CLIENT', 'LOGNAME', 'USER', 'HOME', 'LC_PAPER', 'PATH', 'DISPLAY', 'LANG', 'TERM', 'SHELL', 'J2REDIR', 'LC_MONETARY', 'QT_QPA_PLATFORMTHEME', 'JAVA_HOME', 'SHLVL', 'XDG_RUNTIME_DIR', 'LC_ADDRESS', 'COMP_WORDBREAKS', 'J2SDKDIR', 'XDG_DATA_DIRS', 'XDG_SESSION_ID', '_', 'LC_IDENTIFICATION', 'DERBY_HOME', 'SSH_CONNECTION', 'LESSCLOSE', 'SSH_TTY', 'LC_TELEPHONE', 'LC_MEASUREMENT', 'PWD', 'LC_NAME', 'MAIL', 'LC_TIME', 'LS_COLORS']

3. 添加环境变量的其他方式:

1. “系统设置”——“环境变量”

windows下,在“系统设置”——“环境变量”——“用户变量”下,点击“新建” 添加进去就行了
python获取系统环境变量|os.environ|os.putenv|cmd添加环境变量

2. pycharm中设置环境变量

在pycharm中,设置环境变量,点击pycharm右上角的“Edit Configuration”,如下图,然后点击environment variables末端的一个文件夹图标,进入第二个对话框,点击加号新增就行了
python获取系统环境变量|os.environ|os.putenv|cmd添加环境变量
python获取系统环境变量|os.environ|os.putenv|cmd添加环境变量

3. cmd添加环境变量方法

cmd中有set命令可以查看所有的环境变量
python获取系统环境变量|os.environ|os.putenv|cmd添加环境变量

  • 临时增加环境变量
set user = admin
set password = 123456

python获取系统环境变量|os.environ|os.putenv|cmd添加环境变量
注意:这种方法只是临时添加环境变量,当前的cmd窗口关闭之后,再次打开cmd,运行set命令,他们就不存在了。

  • 永久添加环境变量
setx user admin /m
setx password 123456 /m

python获取系统环境变量|os.environ|os.putenv|cmd添加环境变量
python获取系统环境变量|os.environ|os.putenv|cmd添加环境变量
成功了。但是这里还有一点要注意哦,如果你在当前cmd中用set查看环境变量,user与password是没有的哦,需要你关闭当前cmd,重新打开cmd,用set查看才会出现。
python获取系统环境变量|os.environ|os.putenv|cmd添加环境变量如果在增加环境变量时你的pycharm是打开的,你需要重新打开pycharm,等待IDE的updating。

上一篇:OCSSD启动过程详细v1


下一篇:D - 水之矢 (URAL - 1353 )