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

news2024/11/25 10:52:09

文章目录

    • 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.coloradmin.cn/o/1563634.html

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

相关文章

正大国际:安全合规的外盘期货途径

“外盘期货”一词是指在中国大陆以外建立的期货交易市场。交易所基于国内期货和外盘期货的全球定价、价格权威、巨大的外部交易量、成熟的交易市场和交易机制、强大的流动性、巨大的市场容量、在中国大陆没有控制和强劲的趋势。然而,许多人被引诱进入非法甚至非法平…

【MySQL】DML的表操作详解:添加数据&修改数据&删除数据(可cv例题语句)

前言 大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎! 本章主要内容面向接触过C Linux的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…

【数字图像处理】图像的最近邻插值、双线性插值和双三次插值

图像最近邻插值、双线性插值和双三次插值 用 O ( X , Y ) O(X,Y) O(X,Y)表示 H W H\times W HW的原始图像, G ( X ^ , Y ^ ) G(\hat{X},\hat{Y}) G(X^,Y^)表示 H ^ Y ^ \hat{H}\times\hat{Y} H^Y^的目标图像。 最近邻插值 最近邻插值法令目标图像在 ( x ^ , y…

代码随想录-二叉树【从中序与后序遍历序列构造二叉树】

题目 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder [9,3,15,20,7]后序遍历 postorder [9,15,7,20,3] 返回如下的二叉树: 思路 首先回忆一下如何根据两个顺序构造一个唯一的二叉…

JavaScript前端学习大全

一、概念 JavaScript简称为JS,这门语言诞生主要用于完成页面的数据验证,因此运行在客户端,需要浏览器来解析JavaScript的代码。是世界上最流行的脚本语言。JavaScript 是一种让网页变得有趣和动态的编程语言。比如,当你在网页上点…

Java的编程之旅44——学生信息管理系统

目录 1.MVC设计模式初探 文件结构的搭建 2.Student类用来初始化学生信息 3.主函数里的两个功能 1.调用初始化学生信息的功能 2.输出欢迎界面功能 4.Global类中方法的编写 5.StuPage类,StuCtrl类,StuModel类中方法的编写 1.查询功能 selStu方法的…

蓝桥杯真题:单词分析

import java.util.Scanner; //1:无需package //2: 类名必须Main, 不可修改 public class Main{public static void main(String[]args) {Scanner sannernew Scanner(System.in);String strsanner.nextLine();int []anew int [26];for(int i0;i<str.length();i) {a[str.charA…

使用vite创建一个react18项目

一、vite是什么&#xff1f; vite 是一种新型前端构建工具&#xff0c;能够显著提升前端开发体验。它主要由两部分组成&#xff1a; 一个开发服务器&#xff0c;它基于原生 ES 模块提供了丰富的内建功能&#xff0c;如速度快到惊人的模块热更新&#xff08;HMR&#xff09;。 …

iOS苹果签名共享签名是什么以及如何获取?

哈喽&#xff0c;大家好呀&#xff0c;咕噜淼淼又来和大家见面啦&#xff0c;最近有很多朋友都来向我咨询共享签名iOS苹果IPA共享签名是什么&#xff0c;针对这个问题&#xff0c;淼淼来解答一下大家的疑惑并告诉大家iOS苹果ipa共享签名需要如何获取。 现在苹果签名在市场上的…

CSS(二)---【常见属性、复合属性使用】

零.前言 本篇文章主要阐述CSS常见属性、复合属性&#xff0c;更多前置知识请见作者其它文章&#xff1a; CSS(一)---【CSS简介、导入方式、八种选择器、优先级】-CSDN博客 1.CSS属性 CSS的属性有上百个&#xff0c;但是我们并不需要全部学习&#xff0c;只要我们学习一部分…

二叉树 - 栈 - 计数 - leetcode 331. 验证二叉树的前序序列化 | 中等难度

题目 - 点击直达 leetcode 331. 验证二叉树的前序序列化 | 中等难度1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理方法1&#xff1a;栈方法2&#xff1a;计数 3. 时间复杂度 3. 代码实现方法1&#xff1a;栈方法2&#xff1a;计数 leetcode 331. 验证二…

通俗易懂的JMeter调试错误全集

一、前言 在使用jmeter做接口测试的过程中大家是不是经常会遇到很多问题&#xff0c;但是无从下手&#xff0c;不知道从哪里开始找起&#xff0c;对于初学者而言这是一个非常头痛的事情。这里总结出以下方法。 二、通过查看运行日志调试问题 写好脚本后&#xff0c;可以先试…

HarmonyOS实战开发-为应用添加运行时权限

介绍 通过AbilityAccessCtrl动态向用户申请“允许不同设备间的数据交换”的权限&#xff0c;使用设备管理实例获取周边不可信设备列表。 说明&#xff1a; 查询周边不可信设备之前&#xff0c;请确保本设备与周边设备未进行配对。如果已配对&#xff0c;则恢复出厂设置之后重新…

税务知识竞赛活动方案

为了提高税务工作人员的业务技能和知识&#xff0c;现在全市范围开展税务知识竞赛&#xff0c;希望通过“以赛促学”&#xff0c;在税务系统掀起一场税务知识学习热潮。下面是本次竞赛的活动方案。 1、第一轮&#xff1a;争分夺秒。选择题或判断题&#xff0c;每位参赛选手按编…

LiDAR和Camera融合的BEV感知算法-BEVFusion

0. 简述 本次给大家讲解一篇非常经典的融合工作叫 BEVFusion&#xff0c;我们依旧从算法动机&开创性思路、主体结构、损失函数以及性能对比四个方面展开 BEVFusion 有两篇文章&#xff0c;本次主要讲解的是阿里和北大的&#xff1a;BEVFusion: A Simple and Robust LiDAR-…

Docker容器与虚拟化技术:OpenEuler 部署 Docker UI

目录 一、实验 1.环境 2.OpenEuler 部署 docker-compose-ui 2.OpenEuler 部署 docker ui 3.使用cpolar内网穿透 二、问题 1.docker run -w 的作用 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 系统架构版本IP备注LinuxopenEuler22.03 LTS SP2 192.168…

MQ

目录 MQ优点 异步 解耦 削峰填谷 mq的缺点 MQ常见的几种模式 Kafka、ActiveMQ、RabbitMQ、RocketMQ 区别 MQ优点 mq是一种常见的中间件&#xff0c;在项目中经常用到&#xff0c;它具有异步、解耦、削峰填谷的作用。 异步 比如下单流程&#xff0c;A服务—>B服务&a…

SiameseRPN原理详解(个人学习笔记)

参考资源&#xff1a; 视觉目标跟踪SiamRPNSiameseRPN详解CVPR2018视觉目标跟踪之 SiameseRPN 目录&#xff09; 1. 模型架构1.1 Siamese Network1.2 RPN 2. 模型训练2.1 损失函数2.2 端到端训练2.3 正负样本选择 3. 跟踪阶段总结 SiamRPN是在SiamFC的基础上进行改进而得到的一…

FreeRTOS_day3:2024/4/2

1.总结任务调度算法之间的区别&#xff0c;重新实现一遍任务调度算法的代码。 (1)抢占式调度&#xff1a;高优先级任务可以打断低优先级任务&#xff0c;用于任务优先级不同的任务 (2)时间片轮转&#xff1a;相同优先级的任务&#xff0c;分配相同的时间片(一般为 1ms)&#x…