Ответ 1
Вы можете использовать аргументы типа и choices из add_argument
. Чтобы принять только "0" и "1", вы должны сделать:
parser.add_argument(…, choices={"0", "1"})
А чтобы принимать только целые числа, вы должны сделать:
parser.add_argument(…, type=int)
Обратите внимание, что при выборе необходимо указать параметры в типе, который вы указали в качестве аргумента типа. Таким образом, чтобы проверить целые числа и разрешить только 0 и 1, вы должны сделать:
parser.add_argument(…, type=int, choices={0, 1})
Пример:
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> _ = parser.add_argument("-p", type=int, choices={0, 1})
>>> parser.parse_args(["-p", "0"])
Namespace(p=0)