Python脚本执行另一个脚本,并在第二个脚本完成其工作后恢复
有没有办法检查子流程是否已完成其工作?我的python脚本从cmd执行123.exe。123.exe然后执行一些操作,最后将1或0写入txt文件。Python脚本然后读取txt文件,如果为“1”,则继续作业,如果为“0”,则停止作业。目前我所能想到的就是让python脚本休眠一分钟。通过这种方式,123.exe肯定已将1或0写入txt文件。这种认识非常简单,但同时也很愚蠢 所以我的问题是,有没有一种方法可以在不需要超时的情况下处理这个问题?让python脚本等待123.exe停止的方法?尝试以下方法:Python脚本执行另一个脚本,并在第二个脚本完成其工作后恢复,python,timeout,subprocess,wait,Python,Timeout,Subprocess,Wait,有没有办法检查子流程是否已完成其工作?我的python脚本从cmd执行123.exe。123.exe然后执行一些操作,最后将1或0写入txt文件。Python脚本然后读取txt文件,如果为“1”,则继续作业,如果为“0”,则停止作业。目前我所能想到的就是让python脚本休眠一分钟。通过这种方式,123.exe肯定已将1或0写入txt文件。这种认识非常简单,但同时也很愚蠢 所以我的问题是,有没有一种方法可以在不需要超时的情况下处理这个问题?让python脚本等待123.exe停止的方法?尝试以下
p = subprocess(...)
os.waitpid(p.pid, 0)
这将等待过程完成,脚本将从此处继续。尝试以下操作:
p = subprocess(...)
os.waitpid(p.pid, 0)
这将等待流程完成,脚本将从此处继续。我将使用子流程模块中的速记。从文件中:
使用参数运行命令。等待命令完成,然后返回
返回代码属性
它应该这样工作:
import subprocess
retcode = subprocess.call(["123.exe"])
当然,您不会使用retcode
,但您的脚本将一直挂起,直到123.exe终止。我将使用子流程模块中的速记。从文件中:
使用参数运行命令。等待命令完成,然后返回
返回代码属性
它应该这样工作:
import subprocess
retcode = subprocess.call(["123.exe"])
当然,您不会使用retcode
,但您的脚本将一直挂起,直到123.exe终止。使用:
retcode = subprocess.call(["123.exe"])
这将执行命令,等待它完成,然后将其返回代码放入retcode
(如果命令返回正确的返回代码,这样也可以避免检查输出状态文件)
如果您需要手动实例化子流程.Popen
,请选择
Popen.wait()
(然后选中Popen.returncode
)。使用:
retcode = subprocess.call(["123.exe"])
这将执行命令,等待它完成,然后将其返回代码放入retcode
(如果命令返回正确的返回代码,这样也可以避免检查输出状态文件)
如果您需要手动实例化子流程.Popen
,请选择
Popen.wait()
(然后检查
Popen.returncode
)。无需使用os.waitpid()
,因为子流程本身提供此功能。@redShadow您是对的,使用子流程更合理。无需使用os.waitpid()
,因为子流程本身提供此功能。@redShadow您是对的,使用子流程进行此操作更合理。