我编写了一个python脚本,它使用argeparse模块处理参数。 例如
Test_Dual.py -g Linux
现在,我想给同一个参数提供两个选项,比如
Test_Dual.py -g Linux -g ESX -g Windows
我该怎么做?
答案 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']