У меня есть сценарий, который имеет несколько вариантов использования в зависимости от аргументов, которые он получает. Например, если вызвано:argparse для условно необязательного аргумента
script.py
он выполнит свою основную функцию. Но я также хочу, чтобы иметь возможность запускать другие функции:
script.py -a
перейдет в интерактивный режим.
script.py -r -f filename.txt
Следует использовать файл, чтобы перезапустить полку.
script.py -e -f filename.txt
Следует использовать этот файл для расширения полки.
Моя проблема в том, что я хочу, чтобы флаг -f был необязательным, если не присутствуют флаги -r или -e .
Мой текущий код:
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument("-a", action="store_true")
group.add_argument("-r", action="store_true")
group.add_argument("-e", action="store_true")
Теперь я не знаю, как флаг -f вписывается в Я использую Python 3.5..
Хорошо. Теперь я вижу, что мне действительно не нужен флаг -f. Я могу сделать флаги -r и -e хранить аргумент файла вместо булевых флагов. Но я хотел бы знать, есть ли способ иметь флаг, только если требуется другое. – user24312