我需要让我的python脚本的最终用户输入类似于:
script.py -sizes <2,2> <3,3> <6,6>
Run Code Online (Sandbox Code Playgroud)
其中每个-sizes选项元素都是一对正整数.我怎样才能实现这一目标argparse?
che*_*ner 11
定义自定义类型:
def pair(arg):
# For simplity, assume arg is a pair of integers
# separated by a comma. If you want to do more
# validation, raise argparse.ArgumentError if you
# encounter a problem.
return [int(x) for x in arg.split(',')]
Run Code Online (Sandbox Code Playgroud)
然后使用它作为常规参数的类型:
p.add_argument('--sizes', type=pair, nargs='+')
Run Code Online (Sandbox Code Playgroud)
然后
>>> p.parse_args('--sizes 1,3 4,6'.split())
Namespace(sizes=[[1, 3], [4, 6]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2790 次 |
| 最近记录: |