[英]Wait for subprocess .exe to finish before proceeding in Python
我正在我的代码中运行一个应用程序,它会重写我稍后需要在代码中阅读的文件。 没有输出直接进入我的程序。 我不能让我的代码等到子进程完成,它只是继续并读取未更改的文件。
我已经尝试过subprocess.Popen.wait(),subprocess.call()和subprocess.check_call(),但它们都不能解决我的问题。 有谁知道如何使这项工作? 谢谢。
编辑:这是我的代码的相关部分:
os.chdir('C:\Users\Jeremy\Documents\FORCAST\dusty')
t = subprocess.Popen('start dusty.exe', shell=True)
t.wait()
os.chdir('C:\Users\Jeremy\Documents\FORCAST')
你使用subprocess.Popen()的返回对象吗?
p = subprocess.Popen(command)
p.wait()
应该管用。
你确定命令没有立即结束吗?
如果您执行程序
t = subprocess.Popen(prog, Shell=True)
无论程序是否存在,Python都不会抛出错误。 如果您尝试使用Popen和Shell = False启动不存在的程序,则会出现错误。 我的猜测是你的程序要么不存在于文件夹中,要么不执行。 尝试使用Shell = False在Python IDLE环境中执行,看看是否有新窗口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.