6

私は彼らにingすることsubprocessによってesに印刷可能な入力を送ることが可能であることを知っていますwritestdin

from subprocess import, Popen, PIPE
proc = Popen([command, goes, here], stdin=PIPE)
proc.stdin.write("m")

矢印キーの押下、スペース、リターン、バックスペースなどの入力を送信するにはどうすればよいですか?

4

2 に答える 2

9

反対の問題を解決しようとしている人を見つけました。矢印キーを認識できるプログラムを作成します。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は上、[Bは下、[Cは右、[Dは左など]を追加するだけです。

さまざまなコードのリストについては、http://en.wikipedia.org/wiki/ANSI_escape_sequencesを参照してください。

于 2012-10-06T02:09:52.780 に答える
0

pyautoguiライブラリを試してください。例えば:

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

ライブラリのWebページにあるその他の例。私にとってはうまくいきました-ここを参照してください。

于 2018-01-26T14:47:55.633 に答える