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( .... )
может кто подсказать ка реализовать мне это ???
Ты проверяешь наличие параметра, но не проверяешь наличие аргумента у параметра. Посмотри инструкцию как получать аргумент параметра и проверяй его на пустоту или соответствие определенному шаблону.
argparse?
Обсуждают сегодня