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

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