如何将相同的参数解析两次或多次到 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']
我写了一个 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']