如何在Python中使用argparse处理无效参数?

我们将给定代码重写如下

#foo.py
import argparse
class InvalidArgError(Exception):pass
parser = argparse.ArgumentParser()
parser.add_argument("echo")
args = parser.parse_args()
try:
print (args.echo)
raise InvalidArgError
except InvalidArgError as e:
print e

当此脚本在终端上运行时,如下所示

$ python foo.py echo bar

我们得到以下输出

usage: foo.py [-h] echo
foo.py: error: unrecognized arguments: bar