使用Python更改环境变量

时间:2013-06-29 00:18:08

标签: python environment-variables

我遇到python中的环境变量问题。如何让python将变量导出到父shell?

我使用的是ubuntu,python 2.7.4

我明白了:

$ python
>>> import os
>>> os.environ
{'HOME':'~'}
>>> os.environ['foo']='bar'
>>> os.environ
{'HOME':'~','foo':'bar'}
>>> quit()
$ echo $foo
    # Place #1
$ python
>>> import os
>>> os.environ
{'HOME':'~'}    # Place #2
>>> 

我的预期输出是:

  • 地点#1:bar
  • 地点#2:{'HOME':'~','foo':'bar'}

由于

1 个答案:

答案 0 :(得分:4)

子进程中设置的环境变量(例如python)不影响父进程。

这是一条单行道;如果可以这样做,那么利用shell会非常容易!必须在父进程本身中设置环境变量。此限制由操作系统强制执行,并非特定于Python。

请注意,shell中的sourcing a file(例如. script.sh)不会创建新进程;但是没有办法“获取”Python文件。

相关问题