如何将相同的参数解析两次或多次到 python 脚本?

How to parse same argument twice or more than once to python script?

我写了一个 python 脚本,它使用 argeparse 模块来处理参数。 例如

Test_Dual.py -g Linux

现在,我想为同一个参数提供两个选项,比如

Test_Dual.py -g Linux -g ESX -g Windows

我该怎么做?

您想要 'append' 操作 add_argument。这会将值累积到列表中——每次出现命令行参数时一次。例如

parser = argparse.ArgumentParser()  # yadda yadda
parser.add_argument('-g', action='append')

fake_args_for_demo = '-g Linux -g ESX -g Windows'.split()
namespace = parser.parse_args(fake_args_for_demo)

print(namespace.g)  # ['Linux', 'ESX', 'Windows']

您可以进行如下操作:

import argparse

parser = argparse.ArgumentParser(description=("Program desciption"))


parser.add_argument("-g", "--full-name-of-g", action='append',
                    help="what is g option for")

args = vars(parser.parse_args())

print(args['full_name_of_g'])

打印:

['Linux', 'ESX', 'Windows']