Я работаю над сценарием для управления сборками Docker изображений. В настоящее время я поддерживаю один или несколько базовых образов Centos и один или несколько Debian. Я бы хотел, чтобы "--centos" или "--debian" использовались по умолчанию для последней версии. Но если пользователь хочет построить более старую копию, то это должно прийти из списка выбора. Таким образом, я ищу гибрид: parser.add_argument ('- centos', choices = ['centos-6', 'centos-7']) и parser.add_argument ('- centos')
чтобы я мог запустить скрипт как:
python dobuild.py --centos #would build the latest centos in the list
или
python dobuild.py --centos centos-6 #would build the older copy
но
python dobuild.py --centos centos-5 #would return an 'invalid choice' error
Я пытался choices=['centos-6','centos-7','']
и choices=['centos-6','centos-7', []]
для полноты: python dobuild.py --centos --debian #would build the latest centos AND latest debian in the list
et c. , .