Приемы, описанные здесь, есть в официальной документации к модулю argparse (я использую Python 2.7), ничего нового я не изобрел, просто, попользовавшись ими некоторое время, убедился в их мощности. Они позволяют улучшить структуру программы и решить следующие задачи:
- Вызов определенной функции в ответ на заданный параметр командной строки с лаконичной диспетчеризацией.
- Инкапсуляция обработки и валидации введенных пользователем данных.