мне нужно, чтобы получить что-то работать, как это:argparse дополнительную зависимость для дополнительного аргумента
./foo.py [-b option [-a]]
с argparse. Я думал об использовании sub_parsers, но я не знаю, как заставить его работать.
мне нужно, чтобы получить что-то работать, как это:argparse дополнительную зависимость для дополнительного аргумента
./foo.py [-b option [-a]]
с argparse. Я думал об использовании sub_parsers, но я не знаю, как заставить его работать.
Простой способ состоит в том, чтобы просто добавить правила в коды, которые получают ваши варианты, чтобы выдать ошибку, если -a есть, а не b (и документируйте ее в помощи пользователя). Вы также можете переопределить строку использования, используя ключевое слово usage
: http://docs.python.org/dev/library/argparse.html#usage
sub_parsers приятные, но я не думаю, что они соответствуют вашим потребностям. Их usecase больше похож на множество функций в одном исполняемом файле (думаю, svn add, svn ci, svn co и т. Д.)
Согласен. Хотя я уверен, что вы можете использовать более сложные функции argparse, это очень просто, как вы сказали, проверяя значения. – jdi
Насколько это возможно с логикой argparse, кажется, есть открытый билет для этого точная функциональность: http://bugs.python.org/issue11588 – jdi