Python命令:如何编辑最后一个命令



我正在开发一个基于Cmd Python模块的小型命令行应用程序。我看不出如何在控制台提示中显示最后一个命令,以便用户可以对其进行编辑并重新提交。

问题不在于如何存储最后一个命令。它是关于如何在提示中显示它并允许用户编辑它

从cmd的文档中,Cmd有一个参数:

Cmd.use_rawinput一个标志,默认为true。如果为true,cmdloop()使用raw_input()显示提示并读取下一个命令;如果为假,使用sys.stdout.write()和sys.stdin.readline()。(这意味着通过导入readline,在支持它的系统上,解释器将自动支持Emacs,如行编辑和命令历史记录按键。)

也就是说,你可以使用向上箭头调出最后一个命令:

>>> import cmd
>>> C = cmd.Cmd()
>>> C.cmdloop()
(Cmd) command1
*** Unknown syntax: command1
(Cmd) command1

在上面的最后一行,我按下了向上箭头,它记住了我的最后一个命令。

只需使用readline库。您可以在python文档中找到示例:https://docs.python.org/3/library/readline.html

最新更新