Python 脚本执行另一个脚本并在第二个脚本完成其工作后恢复

标签 python timeout subprocess wait

有没有办法检查一个子进程是否已经完成它的工作?我的 python 脚本从 cmd 执行 123.exe。 123.exe 然后做了一些事情,最后它把 1 或 0 写入一个 txt 文件。然后 Python 脚本读取 txt 文件,如果为“1”则继续作业,如果为“0”则停止。目前我能想到的就是让 python 脚本休眠一分钟。这样 123.exe 肯定会向 txt 文件中写入 1 或 0。这种认识很简单,但同时也很愚蠢。

所以我的问题是,有没有办法在不需要超时的情况下处理这个问题?一种让 python 脚本等待 123.exe 停止的方法?

最佳答案

使用:

retcode = subprocess.call(["123.exe"])

这将执行命令,等待它完成,然后将其返回代码放入 retcode(这样您还可以避免检查输出状态文件,如果命令返回正确的返回码)。

如果你需要手动实例化subprocess.Popen,那么就去

Popen.wait()

(然后检查 Popen.returncode)。

关于Python 脚本执行另一个脚本并在第二个脚本完成其工作后恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6774809/

相关文章:

python - 如何检查当前选择的相机是否有图像平面?

python - 十六进制文件头,魔数(Magic Number),python

使用 pylab 绘制 python 绘图

Python Selenium WebDriver 如何为 get(url) 函数添加超时

java - Java 中的 HTTP 帖子和多线程

Python 和环境变量

python - WinError 2 : File not found with Subprocess. 运行

python - 如何调用函数以特定模式在图形窗口中运行?

c# - 检查网络驱动器是否存在并在 C# 中超时

python - 使用 pexpect 获取 'ls' 命令的输出