Найти - Пользователи
Полная версия: Поочередный ввод аргументов из командной строки
Начало » Python для новичков » Поочередный ввод аргументов из командной строки
1
Mr.Anderson
Привет всем. Интересует вопрос, можно ли как то реализовать поочередный ввод аргументов из командной строки. Что бы аргументы вписывать не во время запуска скрипта а после. Просто input() не подойдет. А вот если бы через него можно было бы передавать значения в NameSpace, то тогда другое дело.
Если более конкретно, то интересует, как реализовать интерфес, как в проге Metasploit
Firik
А почему просто input() не подходит то?
Mr.Anderson
Firik
А почему просто input() не подходит то?
У меня есть несколько переменных, в которые записываются значения. Однако бывает, что какие переменные не обязательны к заполнению. А input() заставляет вводить все значения последовательно.
Firik
Ну так научите программу выдавать вам input только тогда, когда необходимо. А как иначе она поймет, что вам надо вводить и что нет? Либо вводите всегда все значения, но ненужные вводите пустыми и делайте проверку на пустоту
doza_and
Для создания интерфейсов командной строки есть модуль
https://docs.python.org/2/library/cmd.html
Если хотите незабываемой красоты то на это есть https://docs.python.org/2/howto/curses.html
в перл версии Metasploit насколько я понимаю интерфейс как раз на curses и был сделан.
py.user.next
Mr.Anderson
Если более конкретно, то интересует, как реализовать интерфес, как в проге Metasploit
Это обычная командная оболочка.

Mr.Anderson
Просто input() не подойдет.
Не подойдёт, нужен конечный автомат, который использует input(). Ты вводишь команду в состоянии ожидания команды. Если она распознаётся, то автомат переходит в состояние этой команды. Дальнейшие команды относятся к этому состоянию, пока ты не введёшь команду на выход.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB