os.environ慎用setdefault操作环境变量!
在绝大多数情况下,如果需要在程序运行过程中设置环境变量,使用os.environ.setdefault函数是没有任何问题的,但是有两种场景下setdefault会造成意外的问题,需要慎用:
- 如果程序执行前,系统里已经存在了某环境变量(如ENV=VAL1),此时如果在程序中用setdefault函数对该环境变量设置另一个不同的值(如VAL2),会因为setdefault函数的特性导致无法设置为新值
- 也是因为上述这一点,如果进程A先设置了环境变量(如ENV=VAL1),而A启动了子进程B,子进程B会继承A进程的所有与环境变量,会导致B运行的时候,程序运行环境里已经存在环境变量ENV,导致如果此时用setdefault函数对该环境变量设置另一个不同的值(如VAL2),也会因为同样的原因导致无法设置为新值
因此,在程序运行中设置系统环境变量的最安全方法还是:
os.environ['ENV'] = 'VAL'
os.environ慎用setdefault操作环境变量!相关推荐
- python os.environ.setdefault_django os.environ慎用setdefault操作环境变量
在绝大多数情况下,如果需要在程序运行过程中设置环境变量,使用os.environ.setdefault函数是没有任何问题的,但是有两种场景下setdefault会造成意外的问题,需要慎用: 如果程序执 ...
- python os.environ.set_django os.environ慎用setdefault操作环境变量
在绝大多数情况下,如果需要在程序运行过程中设置环境变量,使用os.environ.setdefault函数是没有任何问题的,但是有两种场景下setdefault会造成意外的问题,需要慎用: 如果程序执 ...
- Python os.environ 读取和设置环境变量
Python os.environ 读取和设置环境变量 引入 >>> import os 查看全部key >>> os.environ.keys() ['LC_NU ...
- python os.environ windows_Python基于os.environ从windows获取环境变量
安装python之后,我们往往面临这样一个问题,在命令行输入"python",竟然出错,难道是没有安装成功吗?非也,其实是你的系统环境变量没有设置好.今天,小编就来带大家学学pyt ...
- os.environ[‘CUDA_VISIBLE_DEVICES‘]= ‘0‘设置环境变量
os.environ['环境变量名称']='环境变量值' #其中key和value均为string类型 import os os.environ["CUDA_VISIBLE_DEVICES& ...
- Python标准库中os模块的environ获取系统的环境变量
应用背景:我们想要用Python获取到一些有关系统的各种环境变量信息的时候可以考虑使用Python标准库中的os模块的environ.什么是环境变量,环境变量是程序和操作系统之间的通信方式.有些字符不 ...
- python os.environ_Python拓展11(os.environ获取与设置系统变量)
os.environ获取与设置系统变量 1.简介 对于官方的解释,environ是一个字符串所对应环境的映像对象.这是什么意思呢?举个例子来说,environ['HOME']就代表了当前这个用户的主目 ...
- 在Mac OS X Lion上设置环境变量
当有人说"编辑您的.plist文件"或"您的.profile"或" .bash_profile"等时,这让我感到困惑. 我不知道这些文件在哪 ...
- Linux操作环境变量 getenv函数、setenv函数、unsetenv函数使用
1.getenv函数 获取环境变量的值 man 3 getenv#include<stdlib.h>char *getenv(const char*name);DESCRIPTIONThe ...
最新文章
- 关于linux安装前规划分区二三事
- 转载 开发人员一定要加入收藏夹的网站
- 小玉买文具(洛谷-P1421)
- 运营商取消不限量套餐 网友:这是变相涨价
- eth java,一个轻量级的Java实现的ETH库
- [Caffe]:关于 Error parsing text-format Caffe.NetParameter: xxx.xx : Expected interger or identifier.
- nlp-tutorial代码注释笔记
- 一般纳税人税额计算_一般纳税人企业缴税计算
- 这三个究极骚气的炫酷底部导航栏,只有经常逛GitHub划水的人才知道!
- Context and Attribute Grounded Dense Captioning
- Cross Domain Person Re-Identification With Large Scale Attribute Annotated Datasets参考文献解读
- Debian Etch 源配置
- 机器学习笔记十三:Ensemble思想(上)
- 2023年法定节假日信息表-MySQL
- Metasploit入侵win7系统
- 英特尔或退出芯片制造业务,拥抱台积电
- Vue3定义全局变量/方法
- 大数据十年回顾(3):社区技术生态发展
- 关闭微软Edge浏览器打开时使用推荐浏览器设置的弹窗
- 西密歇根大学计算机科学专业排名,西密歇根大学有哪些专业_专业排名(USNEWS美国大学排名)...