是否可以从 Python 永久设置环境变量?

问题描述

使用 os 模块我可以获得环境变量的值.例如:

Using os module I can get the values of the environment variables. For example:

os.environ['HOME']

但是,我无法设置环境变量:

However, I cannot set the environment variables:

os.environ['BLA'] = "FOO"

它在程序的当前会话中工作,但是当我的 python 程序完成时,我没有看到它更改(或设置)环境变量的值.有没有办法从 Python 中做到这一点?

It works in the current session of the program but when I python program is finished, I do not see that it changed (or set) values of the environment variables. Is there a way to do it from Python?


解决方案

如果你想让你的环境变量在会话中持续存在,你可以

If what you want is to make your environment variables persist accross sessions, you could

对于unix

做我们在 bash shell 中所做的事情.在 ~/.bashrc 中添加环境变量.

do what we do when in bash shell. Append you environment variables inside the ~/.bashrc.

import os
with open(os.path.expanduser("~/.bashrc"), "a") as outfile:
    # 'a' stands for "append"  
    outfile.write("export MYVAR=MYVALUE")

或对于 Windows:

setx /M MYVAR "MYVALUE"

在 Program Files 的 Startup 中的 *.bat

in a *.bat that is in Startup in Program Files

相关文章