Ответ 1
После долгого поискового робота я не мог найти ценного совета, чтобы предотвратить это. Я решил войти в библиотеку cmd и переопределить метод.
Я понял, что cmd последовательно выполняет методы precmd, onecmd и postcmd. Я проследил код и увидел, что onecmd является основным, который преувеличивает данную строку. Он проверяет параметры, затем проверяет строку. Если строка пуста, она вызывает метод пустой линии и возвращает последнюю команду, которая является глобальной переменной, называемой lastcmd. Я переопределяю метод пустой линии, тогда моя проблема исправлена.
Вот метод, который я написал переопределить.
def emptyline(self):
"""Called when an empty line is entered in response to the prompt.
If this method is not overridden, it repeats the last nonempty
command entered.
"""
if self.lastcmd:
return self.onecmd(self.lastcmd)
И вот моя:
def emptyline(self):
"""Called when an empty line is entered in response to the prompt.
If this method is not overridden, it repeats the last nonempty
command entered.
"""
if self.lastcmd:
self.lastcmd = ""
return self.onecmd('\n')
Это не может быть большой проблемой, но помните об этом на всякий случай.