【发布时间】:2016-07-12 23:11:52
【问题描述】:
我正在使用argparse 解析命令行参数,默认情况下接收到无效参数时它会打印帮助消息并退出。是否可以在 argparse 接收到无效参数时自定义其行为?
一般来说,我想捕捉所有无效的参数并用它们做一些事情。我正在寻找类似的东西:
parser = argparse.ArgumentParser()
# add some arguments here
try:
parser.parse_args()
except InvalidArgvsError, iae:
print "handle this invalid argument '{arg}' my way!".format(arg=iae.get_arg())
这样我就可以拥有:
>> python example.py --invalid some_text
handle this invalid argument 'invalid' my way!
【问题讨论】:
-
看来您已经按照自己的方式处理参数:您在消息中打印了无效参数。你有什么问题?
-
@Prune:没有
InvalidArgsError这样的东西。发布的代码实际上不起作用。 -
我意识到没有这样的错误;但是,OP 已发布成功输出。我想我看到了修辞问题;谢谢。
-
@Prune OP 仅发布了所需的输出。不是实际输出。
-
是的,我想我也能看出修辞问题,和张老师无关。