使用Python阅读Windows控制台应用程序的文本

时间:2016-08-10 15:55:35

标签: python windows console

我想使用Python自动运行在独立Windows控制台上运行的旧应用程序。我想继续在控制台上正常使用应用程序,编写命令和获取结果等。我不时想从Python应用程序中捕获控制台文本。从Python程序向控制台应用程序发送命令没有问题。但是,似乎不可能读取控制台窗口中显示的文本。我正在使用子进程来执行此操作,例如:

from subprocess import Popen, CREATE_NEW_CONSOLE, PIPE

newp = Popen(["oldapp.exe"], creationflags=CREATE_NEW_CONSOLE, stdout = None)

while True:
    s = newp.stdout.readline()
    if not s:
        break
    print s,

当我使用stdout = None时,我可以打开oldapp.exe和独立控制台并正常使用它但我无法从python中读取控制台文本。

当我使用stdout = PIPE时,oldapp.exe似乎打开并且独立控制台,但在此控制台上不显示任何文本。但在这种情况下我可以从python中读取控制台文本

有没有办法从python应用程序读取控制台文本,并且能够正常与控制台应用程序交互?

提前致谢。

0 个答案:

没有答案