Можно ли удалить или отключить аргумент в argparse, чтобы он не показывался в справке? Как?
Легко добавить новые аргументы:
parser = argparse.ArgumentParser()
parser.add_argument('--arg1', help='Argument 1')
parser.add_argument('--arg2', help='A second one')
И я знаю, что вы можете переопределить аргументы с помощью нового определения, указав обработчик конфликта "разрешить":
#In one script that should stand-alone and include arg1:
parser = argparse.ArgumentParser(conflict_handler='resolve')
parser.add_argument('--arg1', help='Argument 1')
parser.add_argument('--arg2', help='A second one')
#In another script with similar options
parser.add_argument('--arg1', help='New number 1')
Но это все еще включает arg1 в справочном сообщении и результаты parse_args
Есть ли что-то вроде
#Wishful thinking
#In another script with similar options, that shouldn't include arg1
parser.remove_argument('--arg1')
Или еще один простой способ достичь этого?
Также: будет ли этот подход отличаться, если аргумент был позиционным аргументом?
Примечание: проблема с удалением arg1
после синтаксического разбора, как предложено здесь, состоит в том, что аргумент все еще отображается в справке