Я пытаюсь заставить argparse игнорировать тот факт, что два обычно требуемых позиционных аргумента не должны вычисляться, когда указан необязательный аргумент ( -l
).
В основном я пытаюсь реплицировать поведение --help: при указании -h все отсутствующие обязательные аргументы игнорируются.
Код примера:
parser = argparse.ArgumentParser(description="Foo bar baz")
parser.add_argument('arg1', help='arg1 is a positional argument that does this')
parser.add_argument('arg2', help='arg2 is a positional argument that does this')
parser.add_argument('-l', '--list', dest='list', help='this is an optional argument that prints stuff')
options, args = parser.parse_args()
if options.list:
print "I list stuff"
И, конечно, если я запускаю его сейчас, я получаю:
error: too few arguments
Я пробовал разные вещи, как nargs = '?'
, но не мог получить ничего работающего.
Этот вопрос довольно похож, но не получил ответа.
-121--925514-
Мы рассматриваем возможность покупки 3D-ready ЖК-монитора вместе с машиной с графическим адаптером с возможностью 3D-stereoscopic зрения (ATI Radeon 5870 или выше). Это для отображения некоторых научных данных, которые мы визуализируем в 3D с помощью OpenGL. Теперь мы можем ожидать, что графический процессор, монитор и затворные очки позаботятся о стереоскопическом дисплее или нам нужно изменить программу рендеринга? Если существуют специальные методы программирования графики для 3D стереоскопических дисплеев, некоторые учебные ссылки будут очень полезны.