Форум сайта python.su
0
Всем привет.
Есть цикл.
while True: inp = str(input(os.getlogin().capitalize() + ':~$ ')).lower() if inp == str('file'): add_dell.add_and_del() elif inp == str('port'): gin = 1 check_port.potsc(gin) elif inp == str('help'): f_help = open('help.t') read_f = f_help.read() print(read_f) f_help.close() elif inp == str('backup'): backup.backup() elif inp == str('exit'): other_def.text_time('Closing...\n') quit()
Офлайн
568
spikeqzzА ты думаешь там волшебство какое-то происходит? Чтобы иметь возможность перемещаться по истории, нужно эту историю хранить. Сделай так, чтобы твои действия сохранялись в некоем хранилище (например в питоньем списке) и получение предыдущей команды - задача тривиальная.
(как в консоли).
Офлайн
0
FishHookСпасибо за совет.
получение предыдущей команды - задача тривиальная
Офлайн
568
spikeqzzСтранный вопрос, если у вас есть список неких сущностей, и вы знаете индекс текущей сущности, что вам мешает получить предыдущую сущность по её индексу?
Спасибо за совет.
Как можно получать команду из списка при нажатии стрелки вверх? Чтобы команда попадала в поле input()?
Офлайн
0
FishHookКак запихнуть это всё в input?
Офлайн
568
spikeqzzЧто именно вы хотите запихать в инпут и что именно вы понимаете под инпутом?
Как запихнуть это всё в input?
Офлайн
4
input ждет ввода от ОС, нажатия клавиш он не ловит, поэтому “стрелочку вверх” вы не получите никак.
лучше сделать по UNIX-way - каждая утилита делает что-то одно и делает это хорошо. пусть ваша утилита бакапит, проверяет порты, етс. А историю выполнения хранит ОС
для разбора параметров командной строки кошерно использовать argparse https://docs.python.org/2.7/howto/argparse.html#id1 и http://rtfm.co.ua/python-modul-argparse-opcii-komandnoj-stroki-v-primerax/
Офлайн
0
Suguby27Спасибо, попробую
input ждет ввода от ОС, нажатия клавиш он не ловит, поэтому “стрелочку вверх” вы не получите никак. лучше сделать по UNIX-way - каждая утилита делает что-то одно и делает это хорошо. пусть ваша утилита бакапит, проверяет порты, етс. А историю выполнения хранит ОС для разбора параметров командной строки кошерно использовать argparse https://docs.python.org/2.7/howto/argparse.html#id1 и http://rtfm.co.ua/python-modul-argparse-opcii-komandnoj-stroki-v-primerax/
Офлайн
857
spikeqzzПопробуй curses, она как раз сделана для контролов в консоли.
Как можно получать команду из списка при нажатии стрелки вверх?
Отредактировано py.user.next (Апрель 21, 2015 23:37:46)
Офлайн
0
py.user.nextСпасибо большое! То что нужно
Офлайн