Командный интерфейс с sysargv, argparse, docopts и Typer
Улучшение командного интерфейса с использованием sys.argv, argparse, docopts и Typer
4 способа передачи аргументов в ваши сценарии на Python
Для развертывания конвейера обычно есть основной сценарий или единая точка входа, которая запускает весь конвейер. Например, в конвейере по науке о данных, точкой входа в хранилище кода должен быть сценарий, который организует и запускает последовательно конвейер обработки данных, создания признаков, моделирования и оценки.
Иногда вам может понадобиться запускать разные типы конвейеров или вносить срочные изменения в конвейер.
Изменения могут включать исключение определенных частей кода или запуск конвейера с разными параметрами. В науке о данных это может быть конвейер обучения и прогнозирования или определенные запуски, которые требуют полной или частичной обновления данных.
Простым решением будет создание нескольких основных сценариев. Однако это приведет к дублированию кода и сложности в поддержке нескольких сценариев в долгосрочной перспективе — учитывая, что может быть много комбинаций изменений. Лучшим решением будет создание основного сценария, который принимает аргументы в виде значений параметров или флагов, и последующий запуск соответствующего типа конвейера через интерфейс командной строки (CLI).
- Усвойте и забудьте машины
- От 1 до 0 пиксельные атаки в классификации изображений
- Новый лучший пакет Python для визуализации сетевых графиков
В данной статье не будет рассматриваться, как основной сценарий решает использование аргументов, но будут представлены различные способы передачи аргументов в основной сценарий — можно представить, что ваш основной сценарий теперь является функцией, принимающей параметры! Также будет рассмотрены плюсы и минусы каждого метода и предоставлены кодовые примеры базового и продвинутого использования.
Содержание
- Использование sysargv: Самый простой способ
- Использование argparse: Самый распространенный способ
- Использование docopts: Альтернативный способ
- Использование Typer: Новейший и наиболее простой способ
Использование sysargv
Самый простой способ передачи аргументов
Аргументы могут быть переданы и прочитаны напрямую с помощью sysargv
, что делает его самым простым способом передачи нескольких аргументов.