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将该输出转换回主进程中的dict:@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变量不起作用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)