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下,在“系统设置”——“环境变量”——“用户变量”下,点击“新建” 添加进去就行了
在这里插入图片描述

2. pycharm中设置环境变量

在pycharm中,设置环境变量,点击pycharm右上角的“Edit Configuration”,如下图,然后点击environment variables末端的一个文件夹图标,进入第二个对话框,点击加号新增就行了
pycharm
在这里插入图片描述

3. cmd添加环境变量方法

cmd中有set命令可以查看所有的环境变量
cmd

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

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

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

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

Python是一种高级编程语言,既可以运行在Windows操作系统上,也可以运行在其他操作系统平台上。在Windows操作系统上,可以使用Python中的os.environ模块来获取系统环境变量,这种方式具有很高的灵活性和可扩展性。 系统环境变量是在操作系统中定义的一些全局性的变量,它们的值可以在不同的程序之间共享和使用。在Windows操作系统中,用户可以通过多种方式来设置和修改环境变量,例如通过系统属性、注册表、命令行等方式。要获取系统环境变量,在Python中可以使用os.environ模块来访问系统环境变量列表,该模块以字典的形式返回当前的系统环境变量。可以通过键值对的方式获取需要的环境变量。 下面是一个简单的例子: import os print(os.environ["PATH"]) 该例子中使用了os.environ模块来获取系统PATH变量的值。在Windows系统中,PATH变量包含了一系列路径,其中包括了可执行文件、动态链接库和其他系统需要的文件所在的目录,这样就可以在其他程序中方便地使用这些文件。通过该例子可以看到,os.environ模块获取到的系统环境变量与Windows操作系统中设置的系统环境变量一样,具有很高的可靠性和正确性。 除了获取系统环境变量os.environ模块还可以用于设置和修改系统环境变量。例如,可以使用os.environ["PATH"] = "C:\Python\bin"来设置系统PATH变量的值。这种方式可以在Python程序中修改系统环境变量,从而影响其他程序的运行。 总体而言,Pythonos.environ模块提供了一种灵活、可扩展的方式来获取和修改Windows操作系统环境变量。该模块具有很高的可靠性和正确性,可以方便地在Python程序中进行系统环境变量的操作和控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值