使用 argparse 自定义解析器错误消息
你可以根据脚本需要创建解析器错误消息。这是通过 argparse.ArgumentParser.error
功能。下面的示例显示了当给出 --foo
而不是 --bar
时,脚本会向 stderr
打印用法和错误消息。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-f", "--foo")
parser.add_argument("-b", "--bar")
args = parser.parse_args()
if args.foo and args.bar is None:
parser.error("--foo requires --bar. You did not specify bar.")
print "foo =", args.foo
print "bar =", args.bar
假设你的脚本名称是 sample.py,我们运行:python sample.py --foo ds_in_fridge
该脚本将抱怨以下内容:
usage: sample.py [-h] [-f FOO] [-b BAR]
sample.py: error: --foo requires --bar. You did not specify bar.