应用程序在运行时未通过 python 中的 popen 提示确认消息

Application is not prompting confirmation message during runtime via popen in python

我有一个应用程序,我必须在 python.During 运行 时间内通过 POpen 加载,应用程序将提示一条确认消息,说明 "Can I continue?"。在这里,我们必须提供 yes/no选项。

POpen 正确执行命令,但应用程序不提示 "Can I continue" message.It 就停在那里 point.If 我 运行 手动应用程序,应用程序提示用于确认消息。

proc=subprocess.Popen(['app.exe -start'],shell=True, stdin=subprocess.PIPE,  stdout=subprocess.PIPE)

如果我遗漏了一些参数,请告诉我。

如果传递 stdout=subprocess.PIPE 选项,输出将重定向到 PIPE 而不会显示。您可以比较这两个函数:

p1 = subprocess.Popen(["ls"])
p2 = subprocess.Popen(["ls"], stdin=subprocess.PIPE,  stdout=subprocess.PIPE)

第一个打印命令的输出,第二个不打印。但是您可以使用 p2.stdout.read().

访问它

因此,如果您想查看脚本的输出(并手动输入确认信息),请使用

proc = subprocess.Popen(['app.exe -start'], shell=True)

否则,您必须与 proc.stdinproc.stdout

互动

PS :不鼓励使用 shell=True,如果可以,请将其删除。如果您要 运行 的命令包含一些用户输入,这一点尤为重要。