通过python scrip按enter键

2024-04-19 00:23:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我们正在尝试创建一个python脚本,通过windows shell提示符安装一个应用程序,执行python脚本。app.exe中有一个输出提示,指示 “按回车键继续…”

我们试图模拟回车键,但它不起作用。提示仍然没有移动到下一个向导步骤。

我们如何克服这个问题?

import subprocess
import win32console

APP_BIN = 'app.exe'

def main():
    proc = subprocess.Popen([APP_BIN,'-i','console'],stdin=subprocess.PIPE,
                                                     stdout=subprocess.PIPE)
    proc.stdin.write("\r\n")            <--- issue
    output = proc.stdout.readline()     <--- issue
    print output
    ret = proc.wait()
    print ret

if __name__ == '__main__':
    main()

Tags: import脚本appoutputbinmainstdinstdout
2条回答

以下可能有效(未经测试):

import subprocess
import win32console

APP_BIN = 'app.exe'

def main():
    proc = subprocess.Popen([APP_BIN,'-i','console'],stdin=subprocess.PIPE,
                                                     stdout=subprocess.PIPE)
    stdoutdata, stderrdata = proc.communicate(input="\r\n")
    output = stdoutdata.readline()
    print output
    ret = proc.wait()
    print ret

if __name__ == '__main__':
    main()

不完全确定如何在python中完成,但我的建议是模拟实际的“enter”键按下命令。在您的代码中,您只是更改插入符号的位置,而没有发出正确的返回。

看看这个:http://win32com.goermezer.de/content/view/136/254/

import win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys("{ENTER}", 0) 

看来这正是你所需要的。

相关问题 更多 >