考虑这个使用cmd
模块的最小程序:
import cmd
class Shell(cmd.Cmd):
def do_input(self, _arg):
'''Ask the user to input a string.'''
s = input('String: ')
print(s)
if __name__ == '__main__':
Shell().cmdloop()
这是与该程序的示例交互:
(Cmd) input
String: Hello!
Hello!
(Cmd)
现在的问题是,在按下向上键盘按钮时,最后一个历史记录项来自用户输入(即Hello!
),而不是来自 shell 的提示符(即input
)。
问题是:如何仅获取在 shell 提示符下输入的命令的历史记录(没有使用 输入的输入历史记录input()
)?