#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. Я понимаю. Что ж, это должно хорошо работать в любом случае. Спасибо вам обоим!