我需要一个接一个地运行多个程序,并且每个程序都在控制台窗口中运行.我希望控制台窗口可见,但是为每个程序创建了一个新窗口.这很烦人,因为每个窗口都是在另一个关闭的新位置打开,并且在Eclipse中工作时窃取焦点.
这是我使用的初始代码:
def runCommand( self, cmd, instream=None, outstream=None, errstream=None ):
proc = subprocess.Popen( cmd, stdin=instream, stdout=outstream, stderr=errstream )
while True:
retcode = proc.poll()
if retcode == None:
if mAbortBuild:
proc.terminate()
return False
else:
time.sleep(1)
else:
if retcode == 0:
return True
else:
return False
Run Code Online (Sandbox Code Playgroud)
我在调用subprocess.Popen然后调用proc.stdin.write(b'program.exe\r \n')时切换到使用'cmd'打开命令提示符.这似乎解决了一个命令窗口问题,但现在我无法判断第一个程序何时完成,我可以启动第二个程序.我想在运行第二个程序之前停止并查询第一个程序中的日志文件.
有关如何实现这一目标的任何提示?是否有另一个选项在一个窗口中运行我尚未找到?