我必须遗漏一些明显的东西.目标是使用argparse和第一个参数,第二个可选参数和任何其他剩余参数可选.
为了表明这个问题我做了两个测试解析器;它们之间的唯一区别是在一个中使用nargs = argparse.REMAINDER而在另一个中使用nargs =’*’.
def doParser1(argsin):
parser = argparse.ArgumentParser(description='Parser demo.')
parser.add_argument('req1', help='first required parameter')
parser.add_argument('--opt1', help='first optional parameter')
parser.add_argument('leftovers', nargs=argparse.REMAINDER,
help='all the other parameters')
argsout = parser.parse_args(args=argsin)
print argsout
return argsout
def doParser2(argsin):
parser = argparse.ArgumentParser(description='Parser demo.')
parser.add_argument('req1', help='first required parameter')
parser.add_argument('--opt1', help='first