• Как работает модуль 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.
    Ответ написан
    Комментировать
  • Как в одной строке обозначить три переменные?

    @nirvimel
    s = raw_input('Enter 3 words')
    word1, word2, word3 = (s.split() + [''] * 3)[:3]
    print  word3, word2, word1
    Ответ написан
  • Как разделить строку на список с элементами, сгруппированными по парам (Python)?

    bobrovskyserg
    @bobrovskyserg
    s = "0123456789"
    print([s[i:i + 2] for i in range(0, len(s), 2)])
    Ответ написан
    Комментировать