python中os.environ的使用详解

python中os.environ的使用详解1 简介在 python 中 通过 os environ 获取环境变量 什么是环境变量呢 环境变量是程序和操作系统之间的通信方式 有些字符不宜明文写进代码里 比如数据库密码 个人账户密码 如果写进自己本机的环境变量里 程序用的时候通过 os environ get 取出来就行了 这样开发人员本机测试的时候用的是自己本机的一套密码 生产环境部署的时候 用的是公司的公共账号和密码 这样就能增加安全性 os environ 是一个字典 是环境变量的字典 通过 os environ get HOME 就

1. 简介

python 中,通过 os.environ 获取环境变量。

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

2. key 字段详解

os.environ.keys() 主目录下所有的 key

在这里插入图片描述

2.1 常见 key 字段

windows:

os.environ['HOMEPATH']:当前用户主目录。 os.environ['TEMP']:临时目录路径。 os.environ["PATHEXT"]:可执行文件。 os.environ['SYSTEMROOT']:系统主目录。 os.environ['LOGONSERVER']:机器名。 os.environ['PROMPT']:设置提示符。 

linux:

os.environ['USER']:当前使用用户。 os.environ['LC_COLLATE']:路径扩展的结果排序时的字母顺序。 os.environ['SHELL']:使用shell的类型。 os.environ['LAN']:使用的语言。 os.environ['SSH_AUTH_SOCK']:ssh的执行路径。

3. os.environ.get() 用法

os.environ 是一个环境变量的字典,可以通过 get 方法获取键对应的值。如果有这个键,返回对应的值,如果没有,则返回 none

import os print(os.environ.get("HOME"))

也可以设置默认值,当键存在时返回对应的值,不存在时,返回默认值

print(os.environ.get("HOME", "default")) #环境变量HOME不存在,返回 default

4. 环境变量的增删改查和判断是否存在

4.1 新增环境变量

os.environ['环境变量名称']='环境变量值' #其中key和value均为string类型 os.putenv('环境变量名称', '环境变量值') os.environ.setdefault('环境变量名称', '环境变量值')

4.2 更新环境变量

os.environ['环境变量名称']='新环境变量值'

4.3 获取环境变量

os.environ['环境变量名称'] os.getenv('环境变量名称') os.environ.get('环境变量名称', '默认值')    #默认值可给可不给,环境变量不存在返回默认值

4.4 删除环境变量

del os.environ['环境变量名称'] del(os.environ['环境变量名称'])

4.5 判断环境变量是否存在

'环境变量值' in os.environ   # 存在返回 True,不存在返回 False

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208600.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午11:12
下一篇 2026年3月19日 上午11:12


相关推荐

  • 多线程中线程锁的使用

    多线程中线程锁的使用在多线程的程序编写中,常常遇到共享资源使用冲突解决的苦恼。终于看到并测试了一种简单方法。线程锁的5个要素:CRITICAL_SECTIONg_cs; //定义线程锁InitializeCriticalSection(&g_cs);  //初始化DeleteCriticalSection(&g_cs);  //删除EnterCriticalSection(&g_c…

    2022年6月21日
    25
  • 软件使用&vmware虚拟机的安装步骤详细[通俗易懂]

    实验环境:Windows+Vmware12+RHEL7.2+Xshell5准备工作:1.关闭并退出360,电脑管家等优化软件,防止虚拟机运行出现问题。2.打开链接http://www.vmware.com/cn/products/workstation/workstation-evaluation下载试用版3.安装该软件,可以指定将来虚拟机存放的目录,其他随意。打开vmwar…

    2022年4月12日
    52
  • 百度密集布局OpenClaw 推出首款手机“龙虾 ”应用

    百度密集布局OpenClaw 推出首款手机“龙虾 ”应用

    2026年3月13日
    1
  • unboundlocalerror python_Python问题:UnboundLocalError: local variable ‘xxx’ referenced before assignme…[通俗易懂]

    unboundlocalerror python_Python问题:UnboundLocalError: local variable ‘xxx’ referenced before assignme…[通俗易懂]参考链接:【解析】UnboundLocalError:localvariable’xxx’referencedbeforeassignment在函数外部已经定义了变量n,在函数内部对该变量进行运算,运行时会遇到了这样的错误:主要是因为没有让解释器清楚变量是全局变量还是局部变量。【案例】如下代码片所示:deftest():ifvalue==1:a+=1returnavalue=…

    2022年6月24日
    30
  • linux中.sh文件是什么?怎么执行?

    linux中.sh文件是什么?怎么执行?一、linux中.sh文件是什么?linux中.sh文件是脚本文件,一般都是bash脚本。二、linux中的.sh文件怎么执行?1、直接./加上文件名.sh,如运行hello.sh为./hello.sh【绝对路径下也可以,但hello.sh必须有x权限】使用绝对路径执行:对于文件是否具有x权限,可以目录文件夹下(…

    2025年8月4日
    3
  • NIFI自定义开发

    NIFI自定义开发NIFI 自定义开发 NIFI 自定义开发组件的结果目标 是能够在 NIFI 主页 Processor 里面拖动出来可以使用自己设置的属性 以及自己操作的逻辑处理 NIFI 自定义组件的开发 其实就是继承 AbstractProc 类 实现其方法即可 下面直接放上一个例子进行说明 以及各对象的使用用途说明 自定义开发组件步骤 1 mavenPOM 文件中引入 nifi 对应包 2 resources 目录下新建文件夹 META INF services3 META INF services 下新建一个 Fileo

    2025年10月24日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号