Python中os.environ基本介绍及使用方法

文章目录

    • python中os.environ
      • os.environ简介
      • os.environ进行环境变量的增删改查
    • python中os.environ的使用详解
      • 1. 简介
      • 2. key 字段详解
        • 2.1 常见 key 字段
      • 3. os.environ.get() 用法
      • 4. 环境变量的增删改查和判断是否存在
        • 4.1 新增环境变量
        • 4.2 更新环境变量
        • 4.3 获取环境变量
        • 4.4 删除环境变量
        • 4.5 判断环境变量是否存在

python中os.environ

os.environ简介

os.environ是Python中的一个字典对象,它包含了当前进程的环境变量。通过使用os.environ,可以获取和设置环境变量的值。

下面是给给定的Python代码添加注释说明的示例

 import os
# 获取环境变量的值
path = os.environ.get('PATH')
print(f"PATH: {path}")
# 设置环境变量的值
os.environ['NEW_VAR'] = 'new_value'
print(f"NEW_VAR: {os.environ['NEW_VAR']}")

在上述代码中,我们首先导入了os模块,然后使用os.environ.get()方法获取名为PATH的环境变量的值,并将其打印出来。接下来,我们使用os.environ[]来设置一个名为NEW_VAR的新环境变量,并将其值设置为new_value。最后,我们再次使用os.environ.get()方法获取NEW_VAR的值,并将其打印出来。

os.environ进行环境变量的增删改查

os.environ 是Python的一个内置库,它提供了对操作系统环境变量的访问。你可以使用它来读取、添加、修改和删除环境变量。以下是一些基本的使用方法:

'os.environ[‘变量名’]:获取环境变量的值。如果该环境变量不存在,将引发 KeyError。 os.environ[‘变量名’] = ‘新值’:设置环境变量的值。如果该环境变量不存在,将创建一个新的环境变量。 del os.environ[‘变量名’]`:删除一个环境变量。如果该环境变量不存在,将引发 KeyError。
代码示例:

import os
# 获取环境变量的值
print(os.environ['PATH'])
# 设置环境变量的值
os.environ['MY_VARIABLE'] = 'my value'
print(os.environ['MY_VARIABLE'])
# 删除环境变量
del os.environ['MY_VARIABLE']
try:print(os.environ['MY_VARIABLE'])
except KeyError:print('MY_VARIABLE has been deleted')

通过使用os.environ,我们可以方便地读取和修改环境变量,这对于配置程序的行为或传递参数非常有用。

python中os.environ的使用详解

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/787749.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于“遥感+”蓝碳储量估算、红树林信息提取实践技术应用与科研论文写作教程

原文链接:基于“遥感”蓝碳储量估算、红树林信息提取实践技术应用与科研论文写作教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247599633&idx5&sn1398cde523f9c5e036e4d478fc1d3388&chksmfa8207f6cdf58ee0a3a2bf652e7ac5cf65636b05f9e…

[技术笔记] Flash选型之基础知识芯片分类

1、按照接口分类 分为 Serial串口Flash 和 Parallel并口Flash; 市场大量使用Serial Flash;价格便宜;已满足系统对数据读写速度的要求; Serial Flash已经可以代表 NOR Flash; 小知识: 1)在…

fastapi学习记录

今天看了点fastap,简单记录下,fastapi是一个python下的后端框架。 参考学习网站菜鸟教程 安装 pip install fastapi pip install "uvicorn[standard]"安装好了以后就可以直接使用,最主要的使用方式就是写接口嘛,get&a…

【gurobi】添加约束/目标函数时,连加表示

gurobi中添加变量时,连加该怎么表示 在 Gurobi 中,你可以通过 addVars() 方法来添加变量,并且可以使用 sum() 函数来表示变量的连加。 下面是一个示例代码,演示了如何在 Gurobi 中添加变量并进行连加: import gurobipy as gp from gurobipy import GRB# 创建一个新的模…

【软考】-事务与封锁协议

1、事务的四个特性 (操作) 原子性:要么全做,要么全不做。 (数据)一致性:事务发生后数据是一致的,例如银行转账,不会存在 A 账户转出,但是 B 账户没收到的情况。 (执行)隔离性:任一事务的更新…

2024最新软件测试【测试理论+ Unittest 框架】面试题(内附答案)

一、测试理论 3.1 你们原来项目的测试流程是怎么样的? 我们的测试流程主要有三个阶段:需求了解分析、测试准备、测试执行。 1、需求了解分析阶段 我们的 SE 会把需求文档给我们自己先去了解一到两天这样,之后我们会有一个需求澄清会议, …

Halcon3D倾斜平面矫正至水平面

前言 在相当多的3d检测中,由于各种因素的干扰,我们所检测的平面通常并不是一个水平面,或者被检测的面不是水平面的情况。尤其是在倾斜面的缺陷检测和平面度检测中,使用被测面与拟合基准面进行计算很难做到准确的定位到缺陷的情况…

字符串优化单例模式(C++基础)

字符串优化 小字符会优化为栈上,长度大于15才会堆声明(带上终止符16) 在各种实际应用中,使用字符串的场景不在少数,总有由于一些错误的代码书写,导致产生性能问题,我们今天学习一种针对字符串…

openinstall携手得到App,为终身学习者升级服务体验

近日,openinstall与知识付费领域头部品牌得到App达成合作。未来经过openinstall先进的渠道来源追踪技术加持,得到App在渠道推广、用户拉起、分享传播等活动中将获得高效的数据分析能力和用户体验优化,进一步构建数据驱动模式,同时…

探寻大数据思想的主要贡献者与核心内容

引言: 在当今数字化时代,大数据已成为企业和科学研究的关键要素。其背后的思想和概念不仅引领了数据处理和分析的革新,也推动了人类对于信息时代的理解与认知。 大数据思想的起源: 在信息爆炸的时代背景下,大数据思…

智能锁也能用上GPT技术了?大扭力电机更配中国门?这家公司再次引领行业

智能锁也能用上GPT技术了?小小智能锁电机,竟然能拉动2.5吨SUV? 今日,中国智能锁领军品牌德施曼在北京举办「2024德施曼创新技术预沟通会」,德施曼技术研发中心总监桑胜伟揭秘了两项行业突破性技术——GPTfinger及龙霆…

loopvar 改动不同版本的影响-大循环的执行时间

示例代码 package mainimport ("fmt""runtime""time" )type Large [1 << 12]bytefunc readOnly(x *Large, k int) {} func foo() {for a, i : (Large{}), 0; i < len(a); i {readOnly(&a, i)} } func bench() time.Duration {star…

【机器学习】机器学习创建算法第3篇:K-近邻算法,学习目标【附代码文档】

机器学习&#xff08;算法篇&#xff09;完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;机器学习算法课程定位、目标&#xff0c;K-近邻算法定位,目标,学习目标,1 什么是K-近邻算法,1 Scikit-learn工具介绍,2 K-近邻算法API。K-近邻算法&#xff0c;1.4 …

GT收发器PHY层设计(2)GT_module模块设计

文章目录 前言一、设计框图二、例化IP核端口三、common_reset_i模块四、gt_usrclk_source模块五、IBUFDS_GTE2和gtwizard_0_common模块六、顶层模块gt_module总结 前言 根据官方的example design设计一个自定义协议的高速PHY设计 一、设计框图 设计思路及代码思路参考FPGA奇哥…

【算法】字符串查询KMP算法代码实现

原理&#xff1a; 不回溯主串&#xff0c;通过计算步长后移子串的方式快速查找字符串&#xff0c;将时间复杂度控制到O(n)。 主要原理是&#xff0c;先在子串中找到所有重复的更小子串&#xff0c;并在重复的后面的子串的最后一位的下标记录子串长度。当与主串匹配出现不一致时…

SpringBoot快速实现发送邮件

1、添加发送邮件需要的maven依赖 在 pom.xml 配置文件中加入 spring-boot-starter-mail 依赖。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dependency>2、添加邮箱配…

单源最短路径

题目描述 给定一个 n 个点&#xff0c;m 条有向边的带非负权图&#xff0c;请你计算从 s 出发&#xff0c;到每个点的距离。 数据保证你能从 s 出发到任意点。 输入格式 第一行为三个正整数n,m,s。 第二行起 m 行&#xff0c;每行三个非负整数 ui​,vi​,wi​&#xff0c;表…

关于v114之后的chromedriver及存放路径

使用selenium调用浏览器时&#xff0c;我一直调用谷歌浏览器&#xff0c;可浏览器升级后&#xff0c;就会再次遇到以前遇到过的各种问题&#xff0c;诸如&#xff1a;1、怎么关闭浏览器更新&#xff1b;2、去哪儿下载chromedriver&#xff1b;3、114版本之后的驱动去哪儿下载&a…

【御控物联】JavaScript JSON结构转换(11):数组To数组——综合应用

文章目录 一、JSON结构转换是什么&#xff1f;二、术语解释三、案例之《JSON数组 To JSON数组》四、代码实现五、在线转换工具六、技术资料 一、JSON结构转换是什么&#xff1f; JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换&#xff0…

golang语言系列:golang基础知识

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 golang语言 系列文章&#xff0c;本节会对 golang 基础知识进行学习。gitee有个知识库https://gitee.com/yooome/golang&#xff0c;golang基础知识整理的非常详细了&#xff0c;本文直接链接到该git 0_Go语言的…