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

Python 有没有办法将特殊的非字符键作为字符串类型转换为键类型?(例如,“Key.f12”到实际的键盘.Key.f12值),python,keyboard,pynput,Python,Keyboard,Pynput,我正在使用pynput制作一个程序,它获取一系列键,将它们保存到一个文件中,以便以后模拟这些按键 这适用于字符键(“a”、“1”、“#”等),但不适用于其他键,如“esc”、“enter”和功能键(即f1-f12)。它只会吐出“Key”(例如“Key.esc”或“Key.f12”)。可以使用空格键、enter键和tab键,我可以使用字符串表示法(“”、“\n”和“\t”) 我想知道是否有办法将字符串中的特殊键转换为'pynput.keyboard.Key'类型。例如,将“hello worldK

我正在使用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


我环顾了一下四周,但即使在文档中也找不到任何内容。

换一种方式思考,在正式文档中,有一个函数调用
parse
。例如,您想按“Hello world”。在文件中保存
H-e-l-l-o--w-o-r-l-d-

下次读取文件时,请使用
.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))
从pynput导入键盘
#s是文件中的字符串
s=“H-e-l-l-o--w-o-r-l-d——”
control=keyboard.Controller()
对于s.split中的i(“-”):
印刷品(一)
控件。按(*键盘。热键。解析(i))
控件。释放(*键盘。热键。解析(i))
运行此代码时,它将键入
Hello world\n