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

时间:2015-02-05 06:11:06

标签: python argument-passing

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

Test_Dual.py -g Linux

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

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

我该怎么做?

2 个答案:

答案 0 :(得分:3)

您可以执行以下操作:

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

答案 1 :(得分:2)

您希望'append'操作add_argument。这会将值累积到列表中 - 每次出现命令行参数时。 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']