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']

链接地址: http://www.djcxy.com/p/10623.html

上一篇: python argparse to handle arbitrary numeric options (like HEAD(1))

下一篇: Does MongoDB's update atomicity apply to both query and modification?