【发布时间】:2012-02-15 16:54:46
【问题描述】:
我想使用 argparse 来获取一些 (3) 整数参数,并将它们用作程序主体中的变量。运行下面的代码,每个变量都存储在一个元素列表中。这当然不是什么大问题,但是是否可以设置解析器将每个值放入一个简单的整数变量中?
import argparse
def main():
parser = argparse.ArgumentParser(description='three positional integer arguments.')
parser.add_argument('picks', type=int, nargs='+', default=10,
help='number of selections per execution')
parser.add_argument('minchunk', type=int, nargs='+', default=2,
help='min chunk size')
parser.add_argument('maxchunk', type=int, nargs='+', default=8,
help='max chunk size')
args = parser.parse_args(['1', '2', '3'])
print args
return 0
【问题讨论】:
-
如果你这样做,你会突然得到完全不同和不兼容的类型,这取决于传递了多少数字。如果您想支持多个值,只需始终使用列表即可。