Python Argparse условно обязательные аргументыPython

Программы на Python
Ответить
Anonymous
 Python Argparse условно обязательные аргументы

Сообщение Anonymous »

Я провел как можно больше исследований, но не нашел лучшего способа сделать определенные аргументы командной строки необходимыми только при определенных условиях, в данном случае только в том случае, если были указаны другие аргументы. Вот что я хочу сделать на самом базовом уровне:

Код: Выделить всё

p = argparse.ArgumentParser(description='...')
p.add_argument('--argument', required=False)
p.add_argument('-a', required=False) # only required if --argument is given
p.add_argument('-b', required=False) # only required if --argument is given
Судя по тому, что я видел, другие люди просто добавляют свой чек в конце:

Код: Выделить всё

if args.argument and (args.a is None or args.b is None):
# raise argparse error here
Есть ли способ сделать это в пакете argparse?

Подробнее здесь: https://stackoverflow.com/questions/256 ... -arguments
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»