Уведомления

Группа в Telegram: @pythonsu

#1 Май 3, 2016 16:04:18

Mr.Anderson
Зарегистрирован: 2015-02-06
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Поочередный ввод аргументов из командной строки

Привет всем. Интересует вопрос, можно ли как то реализовать поочередный ввод аргументов из командной строки. Что бы аргументы вписывать не во время запуска скрипта а после. Просто input() не подойдет. А вот если бы через него можно было бы передавать значения в NameSpace, то тогда другое дело.
Если более конкретно, то интересует, как реализовать интерфес, как в проге Metasploit

Офлайн

#2 Май 3, 2016 16:18:26

Firik
Зарегистрирован: 2015-12-02
Сообщения: 151
Репутация: +  6  -
Профиль   Отправить e-mail  

Поочередный ввод аргументов из командной строки

А почему просто input() не подходит то?

Офлайн

#3 Май 3, 2016 16:21:07

Mr.Anderson
Зарегистрирован: 2015-02-06
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Поочередный ввод аргументов из командной строки

Firik
А почему просто input() не подходит то?
У меня есть несколько переменных, в которые записываются значения. Однако бывает, что какие переменные не обязательны к заполнению. А input() заставляет вводить все значения последовательно.

Офлайн

#4 Май 3, 2016 16:24:14

Firik
Зарегистрирован: 2015-12-02
Сообщения: 151
Репутация: +  6  -
Профиль   Отправить e-mail  

Поочередный ввод аргументов из командной строки

Ну так научите программу выдавать вам input только тогда, когда необходимо. А как иначе она поймет, что вам надо вводить и что нет? Либо вводите всегда все значения, но ненужные вводите пустыми и делайте проверку на пустоту

Офлайн

#5 Май 3, 2016 16:46:47

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Поочередный ввод аргументов из командной строки

Для создания интерфейсов командной строки есть модуль
https://docs.python.org/2/library/cmd.html
Если хотите незабываемой красоты то на это есть https://docs.python.org/2/howto/curses.html
в перл версии Metasploit насколько я понимаю интерфейс как раз на curses и был сделан.



Отредактировано doza_and (Май 3, 2016 16:51:14)

Офлайн

#6 Май 4, 2016 06:45:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Поочередный ввод аргументов из командной строки

Mr.Anderson
Если более конкретно, то интересует, как реализовать интерфес, как в проге Metasploit
Это обычная командная оболочка.

Mr.Anderson
Просто input() не подойдет.
Не подойдёт, нужен конечный автомат, который использует input(). Ты вводишь команду в состоянии ожидания команды. Если она распознаётся, то автомат переходит в состояние этой команды. Дальнейшие команды относятся к этому состоянию, пока ты не введёшь команду на выход.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version