python argparse处理任意数字选项(如HEAD(1))
有没有办法欺骗argparse
接受像HEAD(1)
这样的任意数字参数?
head -5 test.txt
相当于
head -n 5 test.txt
我目前的做法是使用parse_known_args()
,然后处理余数,但我希望有一些更优雅的东西。
agrparse和optparse都不支持这一点。
对的,这是可能的:
#!/usr/bin/env python
# coding: utf-8
from argparse import ArgumentParser
parser = ArgumentParser(description='Argparse with numeric arguments')
parser.add_argument('-0', action='store_true', help='null separator')
args = parser.parse_args()
print vars(args)['0']
作为使用vars(args)['0]
@ vault的答案的替代方法,您也可以使用args.__dict__['0']
上一篇: python argparse to handle arbitrary numeric options (like HEAD(1))
下一篇: Does MongoDB's update atomicity apply to both query and modification?