169 похожих чатов

Парни привет помогите разобраться новичку дело вот в чем, вот функция: ===================== import optparse def

getArguments():
parser = optparse.OptionParser()
parser.add_option("-i", "--interface", dest="interface", help="Choose interface <>")
parser.add_option("-m", "--masc", dest="new_mac", help="Mac adress <>")
(options, arguments) = parser.parse_args()
if not options.interface:
parser.error("[--->] Must choose interface, use --help ")
elif not options.new_mac:
parser.error("[--->] Must choose Mac adress, use --help ")
return (options.interface, options.new_mac)

=====================
я делаю прогу при запуске которой я даю 2 параметра, вот в таком формате:

prog.py -i vasea -m kolea

я хочу проверить есть ли аргументы, код функции выше
дальше я начинаю тестить, и вот что получается:

если я запускаю : " prog.py -i етх0 " -> то есть даю тока первый параметр и значение для него
то обрабатывается ошибка и выскакивает сообшение из моего огработчика parser.error( .... )

а если я запускаю : " prog.py -i " -> то есть вставляю имя параметра (у меня их 2: -i -m) но не даю значение для етого параметра ТО ошибка обрабатывается НО не появляется сообшение из моего огработчика parser.error( .... )

а мне надо что в случае запуска без параметров или запуск с параметром но без значения для параметра при обработки ошибки высвечивался текст ошибки из моего обработчика parser.error( .... )


может кто подсказать ка реализовать мне это ???

2 ответов

18 просмотров

Ты проверяешь наличие параметра, но не проверяешь наличие аргумента у параметра. Посмотри инструкцию как получать аргумент параметра и проверяй его на пустоту или соответствие определенному шаблону.

argparse?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта