首页 > 解决方案 > Python:启动bach文件并读取输出,直到出现特定行并继续

问题描述

所以我有batch启动appium服务器的文件。

当我开始执行我的batch文件时,我想读取输出,而在server运行时我想继续。

我知道appium服务器何时从此输出运行:

Appium REST http interface listener started on 0.0.0.0:4723

目前这就是我所拥有的:

process = subprocess.Popen([r'C:\\appium.bat'])
stdout = process.communicate()[0]
print('STDOUT:{}'.format(stdout))

我想要的是等待60几秒钟或直到这条线出现。如果60secods 通过并且这条线 ( Appium REST http interface listener started on 0.0.0.0:4723) 没有出现,我想提高exception

我的问题是,当我的服务器启动时,该进程继续运行,因此它永远不会退出并继续下一个代码,我无法终止该appium进程。

任何建议如何解决它?

标签: pythonsubprocess

解决方案


您可以使用时间模块等待

import time

time.sleep(60) # wait for 60 seconds

推荐阅读