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

如何将同一个参数解析两次或多次到python脚本?,python,argument-passing,Python,Argument Passing,我已经编写了一个python脚本,它使用解析模块来处理参数。 e、 g 现在,对于同一个论点,我想给它两个选项,比如 Test_Dual.py -g Linux -g ESX -g Windows 我该怎么做呢?您希望将操作“附加”到。这将把值累加到一个列表中——每次命令行参数出现一次。e、 g parser = argparse.ArgumentParser() # yadda yadda parser.add_argument('-g', action='append') fake_a

我已经编写了一个python脚本,它使用解析模块来处理参数。 e、 g

现在,对于同一个论点,我想给它两个选项,比如

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

我该怎么做呢?

您希望将
操作“附加”
到。这将把值累加到一个列表中——每次命令行参数出现一次。e、 g

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']

Python支持多种方式来解析命令行参数。您使用的是哪个模块或库?我使用的是python内置的导入解析模块。
['Linux', 'ESX', 'Windows']