为键/键序列绑定python函数

为键/键序列绑定python函数,python,readline,Python,Readline,我想制作vi风格的控件,比如进入插入模式的I,等等 如何使用readline? 或者有没有类似的readline可以将python函数绑定到键/键序列 UPD:主要目标是将python函数绑定到键上。 例如,我有以下功能: def myfunc(): print("Output") 如何设置p键,例如执行上述功能?您可以使用设置编辑模式vi读取行命令 import readline readline.parse_and_bind('set editing-mode vi') 它将以插

我想制作vi风格的控件,比如进入插入模式的
I
,等等

如何使用
readline
? 或者有没有类似的
readline
可以将python函数绑定到键/键序列

UPD:主要目标是将python函数绑定到键上。 例如,我有以下功能:

def myfunc():
    print("Output")
如何设置
p
键,例如执行上述功能?

您可以使用
设置编辑模式vi
读取行命令

import readline
readline.parse_and_bind('set editing-mode vi')

它将以插入模式启动。按ESC键将切换到正常模式。

这可以使用以下软件包实现:

代码:
导入键盘
def myfunc():
打印(“输出”)
键盘。添加_热键('p',myfunc)
用于测试的断点()。。
示例输出

简短解释
  • 拍摄
    • 第一个参数是描述热键的字符串。例如
      “p”
      “ctrl+p”
      “F3”
      ,等等
    • 作为第二个参数,使用热键时调用的函数
    • 作为可选的关键字argument
      args
      ,是传递给函数的参数的iterable

但如何让键调用python函数?@SPython,你是什么意思?你在做编辑吗?不完全是。我正在制作一个带有vi风格控件的控制台,在这里,您只需按几个键,而无需键入命令。喜欢abc来运行命令吗cde@SPython,尝试上面的代码,后跟
raw\u input()
input()
,在Python3.x中)。