• Как работает модуль getopt из стандартной библиотеки Python?

    @nirvimel
    Просто совет: перед тем как углубятся в изучение getopt, обратите внимание на Click, это высокоуровневая обертка над argparse/optparse (высокоуровневая альтернатива getopt), призванная решать многие из тех проблем, которые в вашем коде решаются вручную, а также многие проблемы, с которыми вы еще скоро столкнетесь при разработке консольных приложений.

    В частности откуда взять функцию usage()?

    Эта функция должна печатать в консоль что-то о том, как следует правильно вызывать ваш скрипт и с какими параметрами.

    Почему такие разные параметры sys.exit() и sys.exit(2)?

    Это должно сигнализировать ОС или вызывающему скрипту о том, отработал ли процесс нормально (код возврата == 0, по умолчанию не указывается) или завершился с ошибкой (код возврата > 0).

    Какую роль выполняет переменная verbose?

    Во многих unix-утилитах режим verbose означает вывод более подробной информации о ходе работы, без него процесс может отработать (штатно, без ошибок) вообще молча без какого-либо вывода. Ваша реализация остается на ваше усмотрение.

    Что делает команда assert False ...?

    Она должна ставится в точке, до которой по логике интерпретатор не должен дойти при любом раскладе. В данном случае, ИМХО, ее применение необоснованно, правильнее будет просто написать в консоль что-то типа "unhandled option" и выйти по sys.exit(n) где n > 0.
    Ответ написан
    Комментировать