首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用os.environ访问系统变量

使用os.environ访问系统变量
EN

Stack Overflow用户
提问于 2019-05-06 07:56:35
回答 2查看 289关注 0票数 3

我使用以下代码创建了Windows system variable

代码语言:javascript
复制
import os
os.environ['BJT'] = 'HELLO'

但我无法在Advanced settings \ system variables中看到它,当我试图打印它时也看不到它:

代码语言:javascript
复制
import os
print(os.environ['BJT'])

我认为当我使用os.environ创建系统变量时,就像在系统设置中那样创建了系统变量。是否有可能从python代码中创建系统变量并在我重新启动计算机时访问它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-06 08:04:54

您需要调用系统(具有管理权限)来创建系统变量,您可以使用子过程

代码语言:javascript
复制
import subprocess
subprocess.run(['setx', 'BJT', '"HELLO"', '/M'])

在使用python3.5之前,您需要使用process.call

票数 3
EN

Stack Overflow用户

发布于 2019-05-06 08:31:52

人们对什么是环境有误解。它只是一个进程可以传递给它的子进程的(string)变量的映射。具体来说,一个进程可以改变它自己的环境(未来的子进程将使用它),但是这不会改变它的父进程的环境,甚至它已经存在的子进程的环境(如果有的话)。

此外,Windows还提供系统和用户环境变量,这些变量用作任何进程的初始环境。这不是os.environputenv的改变,而是来自Windows或shell命令setx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56001009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档