擅长:python、mysql、java
<p>创建一个自定义操作,该操作在同一参数出现两次时引发异常。当解析器捕捉到异常时,它将输出用法和格式良好的错误消息。在</p>
<pre><code>import argparse
class Highlander(argparse.Action):
def __call__(self, parser, namespace, values, option_string=None):
if getattr(namespace, self.dest, None) is not None:
raise argparse.ArgumentError(self, 'There can be only one.')
setattr(namespace, self.dest, values)
parser = argparse.ArgumentParser()
parser.add_argument('-f', action=Highlander)
print (parser.parse_args('-f 1 -f 2'.split()))
</code></pre>