Есть ли способ использовать последний введенный ввод в Python, как в командной оболочке?

#python-3.x #command-line-interface

#python-3.x #интерфейс командной строки

Вопрос:

Я пишу своего рода CLI, который работает как оболочка. У меня есть функция, которая прослушивает пользовательский ввод и выполняет функции на его основе.

Я хочу, чтобы вы могли щелкнуть клавишу со стрелкой ВВЕРХ, чтобы использовать последнюю введенную команду. Я предполагаю, что вы могли бы вести запись введенных команд и ссылаться на нее, когда Python обнаруживает нажатие клавиши со стрелкой ВВЕРХ, но есть ли способ сделать это, который не сохраняет массив? Это кажется немного хакерским.

Комментарии:

1. Используйте массив в качестве стека и просто добавляйте каждый ввод один за другим. Когда пользователь нажимает вверх, отобразите последний элемент (элемент -1). Если пользователь нажимает вверх много раз, посчитайте это время (например, в переменной i ) и отобразите элемент -i . Я не знаю ни одной структуры, специально предназначенной для того, что вы хотите сделать.

2. Если вы хотите что-то вроде автоматического завершения предыдущих команд, я полагаю, вы могли бы использовать trie. Смотрите этот пример: geeksforgeeks.org/auto-complete-feature-using-trie .

3. Я понимаю. Что ж, это должно хорошо работать в любом случае. Спасибо вам обоим!