使用Python调用设置环境变量的批处理脚本并运行使用这些变量的程序
我需要从Python中调用一个批处理脚本,这个脚本会设置一些环境变量,然后我想用这些环境变量来执行其他程序。我是在Windows环境下运行Python的。
我不能直接用 Popen("setupEnv.bat")
然后再用 Popen("command args")
,因为批处理脚本执行完后,环境变量就消失了。由于这个方法不行,我现在尝试手动打开一个命令提示符,并单独获取每个命令的输出,但我在这方面遇到了一些问题:
proc = subprocess.Popen("cmd.exe",stdin=subprocess.PIPE,stdout=subprocess.PIPE,
stderr=subprocess.STD OUT,shell=True)
stdin.write("setupEnv.bat")
stdin.write("command args")
我需要单独获取这些输出。有办法暂停子进程或者等待它的输出吗? proc.communicate()
和 proc.wait()
都是等子进程结束。我需要给一个进程发送两个不同的输入,并记录每个输入的响应。
谢谢
1 个回答
0
这可能不是你想要的答案
你可以先获取变量的值,然后把这些值存储到一个文件里。接着,你可以用其他程序或语言来读取这个文本文件的内容。就这么简单 :)
希望这能解答你的问题!