gpt4 book ai didi

python - 运行一个可执行文件,等待它产生输出,运行另一个程序

转载 作者:行者123 更新时间:2023-11-28 21:52:55 25 4
gpt4 key购买 nike

在 Python 脚本中,我尝试执行以下事件序列:

  1. 打开命令窗口并运行程序。完成后,它会输出一个文本文件。
  2. 创建该文本文件后,关闭程序。
  3. 在那之后,使用文本文件作为输入运行一个新程序

这是我目前所拥有的:

subprocess.popen(['cmd','/c',r'programThatRuns.exe'])
subprocess.wait() # ? subprocess.check_call()? kill?
subprocess.popen(['cmd','/c',r'otherProgramThatRuns.exe'])

所以我想我真的卡在了第二行

最佳答案

我想你只需要:

subprocess.check_call(['programThatRuns.exe'])
subprocess.check_call(['otherProgramThatRuns.exe'])

check_call 函数将运行程序并等待它完成。如果失败(非 0 退出代码),它将抛出一个 CalledProcessError 异常。

你一般不想通过cmd来运行程序,直接运行即可。如果程序不是可执行文件,您只需要强制使用 cmd,例如对于 dir 这样的内置命令,对于 .bat.cmd 文件,或者如果您想使用文件关联。

关于python - 运行一个可执行文件,等待它产生输出,运行另一个程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27548105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com