Как сделать так, чтобы пользовательский ввод не появлялся в истории в модуле cmd?
Рассмотрим эту минимальную программу, которая использует 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!
), а не из командной строки (т.е. input
).
Вопрос заключается в следующем: как получить только историю команд, введенных в командной строке (без истории входов, введенных с помощью input()
)?