繁体   English   中英

在继续Python之前,等待子进程.exe完成

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM