Как добавить значение по умолчанию для необязательного аргумента в argparse? - PullRequest
0 голосов
/ 26 февраля 2019

Я использую argparse, и я знаю, что для определенного аргумента я могу установить action='append', а затем каждый раз, когда я устанавливаю этот аргумент, значение добавляется, например,

parser = argparse.ArgumentParser()
parser.add_argument("-a", type=int, action="append")
args = parser.parse_args(["-a", "5", "-a", "6"])
print(args)

выводэто:

Namespace(a=[5, 6])

Для моего приложения я хотел бы ввести имя аргумента -img с дополнительными аргументами, path позиционный субаргумент типа string и val необязательныйпод-аргумент типа int, который по умолчанию равен нулю.Итак, в соответствии с кодом:

args = parser.parse_args(["-img", "/path-to-img-0", "5", 
                          "-img", "/path-to-img-1"])

Я бы хотел получить:

args = Namespace(path=["/path-to-img-0", "/path-to-img-1"],
                 val=[5, 0])

Как мне этого добиться?

...