python - 源 shell 脚本并从 os.environ 访问导出的变量

标签 python linux shell

我有一个 shell 脚本,其中设置了某些参数,例如:
k.sh:

export var="value"
export val2="value2"

然后我有一个 python 脚本,我在其中调用 shell 脚本并想使用这些环境变量
ex1.py:

import subprocess
import os
subprocess.call("source k.sh",shell=True)
print os.environ["var"]

但是我得到了一个KeyError
如何在我的 Python 脚本中使用这些 shell 变量?

最佳答案

subprocess.call 在新进程中启动一个 shell,它调用 source。无法从子进程修改进程内的环境。

关于python - 源 shell 脚本并从 os.environ 访问导出的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16550068/

相关文章:

python - 如何预处理 "big data"tsv 文件并将其加载到 python 数据帧中?

linux - 使用 sed 将单词替换为空白

linux - Docker 在 docker 主机内部监听 RabbitMQ 而不是从外部监听,为什么?

python - 如何使用 Python 抓取 PHP Ajax?

python - fill_between 总是低于绘图线

Linux 中的 Java 路径

linux - 如何在 tmux 布局中设置 "main window"的最大宽度?

linux - 仅当 B、C、D、E 和 G 中的任何一个包含 Failed using Linux shell 时才打印列 A

bash - 检查一个目录是否包含另一个目录

python - 如何在 Mac OS X 上确定 python 模块搜索路径?