在Python脚本中使用shell变量不起作用

在Python脚本中使用shell变量不起作用,第1张

概述我有一个shell脚本,其中某些参数设置如下:k.sh:export var='value' export val2='value2' 然后我有一个python脚本,我在调用shell脚本,并希望使用这些环境变量ex1.py:import subprocess import os subprocess.call('source k.sh',shell=Tru @H_502_1@我有一个shell脚本,其中某些参数设置如下:
k.sh:

@H_502_1@

export var="value"export val2="value2"
@H_502_1@然后我有一个python脚本,我在调用shell脚本,并希望使用这些环境变量
ex1.py:

@H_502_1@

import subprocessimport ossubprocess.call("source k.sh",shell=True)print os.environ["var"]
@H_502_1@但是我得到了一个KeyError
如何在Python脚本中使用这些shell变量?最佳答案您可以获取k.sh并运行Python one-liner以将os.environ的内容打印为JsON.然后使用Json.loads将该输出转换回主进程中的di​​ct:

@H_502_1@

import subprocessimport osimport JsonPIPE = subprocess.PIPEoutput = subprocess.check_output(    ". ~/tmp/k.sh && python -c 'import os,Json; print(Json.dumps(dict(os.environ)))'",shell=True)env = Json.loads(output)print(env["var"])
@H_502_1@产量

@H_502_1@

value
总结

以上是内存溢出为你收集整理的在Python脚本中使用shell变量不起作用全部内容,希望文章能够帮你解决在Python脚本中使用shell变量不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1205341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存