Я планирую написать команду с помощью argparse библиотеки, это моя командная структура:Подпрограмма Python argparse действительна?
$ python cvs.py -d my_adress local diff -r xyz -N -d details
Здесь, локальная команда имеет несколько сгруппированных к нему, такие как локальные фиксации, местные и т.д. добавить Э.Г. [-d my_address] анализируется в главном, а все переключатели после локального разбора анализируются функцией, выполняемой для локального diff.
Аналогично, имеется другая группа команд, параллельная локальной; говорят глобальные.
Коммутатор -d не смешивается с -r. Итак, синтаксический анализ парсера -r не знает о -d и наоборот.
Можно ли реализовать это с помощью argparse? Если да, может кто-нибудь предложить мне приблизительный алгоритм для этого. Если нет, что еще может сделать это в python? Спасибо.
Ваше описание нечеткое. Что вы подразумеваете под «local», в команде есть несколько команд [s]? Отмеченные аргументы, такие как '-d', анализируются независимо и могут встречаться в любом порядке. Помните, что 'argparse' анализирует ваш вход, но не выполняет его. – hpaulj