有没有办法将字符串类型的特殊非字符键转换为键类型?(例如,“Key.f12”到实际的键盘.Key.f12值)

2024-05-19 14:31:22 发布

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

我正在使用pynput制作一个程序,它获取一系列键,将它们保存到一个文件中,以便以后模拟这些按键

这适用于字符键(“a”、“1”、“#”等),但不适用于其他键,如“esc”、“enter”和功能键(即f1-f12)。它只会吐出“Key”(例如“Key.esc”或“Key.f12”)。可以使用空格键、enter键和tab键,我可以使用字符串表示法(“”、“\n”和“\t”)

我想知道是否有办法将字符串中的特殊键转换为'pynput.keyboard.Key'类型。例如,将“hello worldKey.f12”中的“Key.f12”或“f12”转换为Key class的值Key.f12

我已经到处看看了,但在文件里也找不到任何东西


Tags: 文件key字符串程序字符tab按键f1
1条回答
网友
1楼 · 发布于 2024-05-19 14:31:22

从另一个角度考虑,在官方文档中,有一个函数调用parse。例如,您想按“Hello world”。在文件中保存H-e-l-l-o- -w-o-r-l-d-<Enter>

下次读取文件时,请使用.split("-")将它们拆分为列表,并使用parse处理它们。下面是一个简单的示例:

from pynput import keyboard

# s is the string in the file
s = "H-e-l-l-o- -w-o-r-l-d-<Enter>"

control = keyboard.Controller()
for i in s.split("-"):
    print(i)
    control.press(*keyboard.HotKey.parse(i))
    control.release(*keyboard.HotKey.parse(i))

当您运行此代码时,它将键入Hello world\n

相关问题 更多 >