Pynput:命令行输入
Pynput: input out of command line
我正在尝试使用 pynput 编写一个 python3 脚本,它按下一个键来自动执行我必须执行的重复性任务。代码如下:
import time
from pynput.keyboard import Key, Controller
keyboard = Controller()
keyboard.press(Key.enter)
keyboard.release(Key.enter)
# Press and release space
while True:
keyboard.press(Key.space)
keyboard.release(Key.space)
time.sleep(1)
我的问题是它可以工作,但只能在命令行中使用。我不知道如何使用我必须执行的任务将输入导出到打开 window。我正在使用 OsX 系统。提前谢谢你。
它只适用于控制台,因为击键停留在 python 环境中。要与应用程序交互,您需要使用 OS。使用 os.system()
在 python 中执行此操作。由于您的脚本是来自控制台的 运行,因此您需要先切换到目标应用程序。
模拟 Alt+Tab:
os.system('\nosascript -e \'tell application "System Events" to key code 48 using {command down}\' \n')
您需要在 key-down 和 key-up 命令之间添加延迟,因为 OpenEmu 将无法检测到 key-up 以您的脚本执行的速度。
这个post有更多信息Macbook OpenEmu Python send keystrokes
我正在尝试使用 pynput 编写一个 python3 脚本,它按下一个键来自动执行我必须执行的重复性任务。代码如下:
import time
from pynput.keyboard import Key, Controller
keyboard = Controller()
keyboard.press(Key.enter)
keyboard.release(Key.enter)
# Press and release space
while True:
keyboard.press(Key.space)
keyboard.release(Key.space)
time.sleep(1)
我的问题是它可以工作,但只能在命令行中使用。我不知道如何使用我必须执行的任务将输入导出到打开 window。我正在使用 OsX 系统。提前谢谢你。
它只适用于控制台,因为击键停留在 python 环境中。要与应用程序交互,您需要使用 OS。使用 os.system()
在 python 中执行此操作。由于您的脚本是来自控制台的 运行,因此您需要先切换到目标应用程序。
模拟 Alt+Tab:
os.system('\nosascript -e \'tell application "System Events" to key code 48 using {command down}\' \n')
您需要在 key-down 和 key-up 命令之间添加延迟,因为 OpenEmu 将无法检测到 key-up 以您的脚本执行的速度。
这个post有更多信息Macbook OpenEmu Python send keystrokes