将箭头键发送给Popen

时间:2012-10-06 01:41:28

标签: python popen

我知道可以通过subprocess writestdin发送可打印输入到from subprocess import, Popen, PIPE proc = Popen([command, goes, here], stdin=PIPE) proc.stdin.write("m")

{{1}}

如何发送箭头按键,空格,返回或退格键等输入?

2 个答案:

答案 0 :(得分:9)

我发现有人试图解决相反的问题,创建一个可以识别箭头键的程序:Recognizing arrow keys with stdin

我也找到了 http://compgroups.net/comp.unix.programmer/how-to-send-up-arrow-key-to-popen-child/537480 其中说:

"\x1B[A" for up
"\x1B[B" for down

因此,如果\ x1B是转义字符而不是你只是附加[A代表up,[B代表down,[C代表权利,[D代表左派等等。

查看http://en.wikipedia.org/wiki/ANSI_escape_sequences以获取不同代码的列表。

答案 1 :(得分:0)

试试pyautogui库。例如:

pyautogui.hotkey('ctrl', 'c')  # ctrl-c to copy
pyautogui.press('enter')  # press the Enter key

图书馆网页中的更多示例。 对我来说它有用 - 见here