假设我有myscript.py:
while True:
print("hi")
time.sleep(1)现在,在mainscript.py中作为子进程启动它:
sub = subprocess.Popen([sys.executable, "-u", myscript.py], creationflags=CREATE_NEW_CONSOLE, stdout=PIPE, bufsize=1)现在我阅读了myscript.py的输出:
while sub.poll() == None:
subm = sub.stdout.readline()
print (subm) #print for checking only但只有当我没有创建新的控制台时,这才能起作用。但我需要这个控制台窗口。
如何捕获/访问另一个控制台窗口的输出?
任何帮助都将不胜感激。谢谢!
发布于 2017-10-28 18:57:52
这对我有用。这就是你要找的东西吗?
import sys, subprocess
from subprocess import Popen, PIPE, CREATE_NEW_CONSOLE
p = subprocess.Popen([sys.executable, "-u", os.path.dirname(__file__) + '/myscript.py'], creationflags=CREATE_NEW_CONSOLE, bufsize=1)
if p.stdout:
for line in iter(p.stdout.readline, b''):
print line,
p.wait()https://stackoverflow.com/questions/46960407
复制相似问题