ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-02-08 13:01:52  阅读:197  来源: 互联网

标签:LC putenv cmd environ HOME os 环境变量


文章目录

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。

标签:LC,putenv,cmd,environ,HOME,os,环境变量
来源: https://blog.csdn.net/craftsman2020/article/details/122821631

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有