擅长:python、mysql、java
<p>按照古老的传统,我在发帖后很快就找到了答案</p>
<p>如果其他人在这里登陆,我会创建第二个解析器,并使用<code>parse_known_args()</code>调用它,从而忽略非详细参数</p>
<pre><code>verbosityParser = argparse.ArgumentParser(add_help=False)
parser = argparse.ArgumentParser()
verbosityParser.add_argument('-v', ' verbose', nargs='?', action=SetVerbosity(logging.INFO))
verbosityParser.add_argument('-vv', nargs='?', action=SetVerbosity(logging.DEBUG))
# Still add verbosity to the "main" parser so that it shows up in help
parser.add_argument('-v', ' verbose', nargs='?')
parser.add_argument('-vv', nargs='?')
parser.add_argument('-f', ' foo', metavar='VAL', action=PerformFoo, help='Do a foo')
parser.add_argument('-b', ' bar', metavar='VAL', action=PerformBar, help='Do a bar')
logging.basicConfig()
verbosityParser.parse_known_args()
parser.parse_args()
</code></pre>