3

我在 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'}

谢谢

4

1 回答 1

4

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

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

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

于 2013-06-29T00:22:23.740 回答