python - 我们可以将python脚本修改的环境变量传递给 shell 吗?

标签 python shell

对于以下 python 脚本:

import os
os.system('PYTHONPATH=\user\...')
os.system('export PYTHONPATH')
....

执行此脚本后,我们是否可以将 PYTHONPATH 变量“导出”到 shell?

最佳答案

不,这是不可能的。当Python进程启动时,它会获得自己的环境副本,从父shell复制。 Python进程只能修改私有(private)副本,并且更改不会传播回父进程。

如果您想做这样的事情,最好的方法是打印执行所需的环境变量更改所需的 shell 命令,例如

print "export PYTHONPATH=$PYTHONPATH:..."

并使用运行脚本

eval "$(python myscript.py)"

关于python - 我们可以将python脚本修改的环境变量传递给 shell 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8101352/

相关文章:

python - 查找句子中单词序列的连续重复

android - 如何使用安卓猴子

shell - 为什么我的 bash 函数返回错误的值?

bash - 如何递归地按类型获取文件数

python - 在 Python 中计算时间(datetime.timedelta?)

python - 如何在 Flask 中使用 QuerySelectField?

bash - 用于测试的shell脚本

windows - 在运行时编辑 PowerShell 脚本

python - 努力尝试创造新系列

java - Jpype 在 Java 中将 Py Dict 传递给 Map Obj 时没有匹配重载