class StartAction(argparse.Action):
def __call__(self, parser, namespace, values, option_string=None):
print "Hello"
start.add_argument('-s', '--start', action=StartAction)
我知道通常将操作设置为“store_true”会阻止对参数的要求,但是有没有方法可以使用自定义操作而仍然不需要传递参数?在
所以我想要的是:
python example.py -s
Hello
正如mgilson suggested
nargs=0
所做的那样。既然这是你行动的本质,我就把它放在行动中:而且,您不必为每个
add_argument()
调用添加nargs=0
所需的行为。如果你有多个参数以相同的方式工作,那就很好了。在然而,用户仍然可以覆盖
^{pr2}$nargs=0
的默认值,这对于您的用例来说是愚蠢的,如问题中所示。所以我要强制执行:在参考了上面的内容并尝试了不同的方法之后,我编写了这个示例。这是一个实现“Uncount”acount的类,它与“count”操作相反。在
示例:
^{pr2}$尝试将
nargs=0
添加到您的start.add_argument
:相关问题 更多 >
编程相关推荐