Я пытаюсь создать интерфейс командной строки, который принимает несколько аргументов, которые, я думаю, вы бы назвали вложенными и предопределенными. Например, скажем, я пытаюсь создать утилиту, которая управляет реляционной базой данных. Я хочу, чтобы команды, подобные следующим:
dbmgr.py create table --name="mytab"
dbmgr.py create view --name="myview" --other-opt=...
dbmgr.py drop table --name=...
dbmgr.py drop user --username=...
В этом случае есть предопределенный набор операций («создать», «отбросить» и т. Д. c), и каждая операция имеет спецификацию c предопределенный набор объектов, с которыми может работать каждая операция. В этом случае операция «create» может принимать только объект «table» или «view».
В случае операции «drop» пользователь может указать только объекты «table» и «user». В случае щелчка «создать», «таблица», «представление» и «отбросить» просто аргументы? Если так, как я могу ограничить то, что может быть указано для указанных c значений? Я не уверен, что в этом случае используются группы, команды и т. Д. c, и если да, то как?