擅长:python、mysql、java
<p>您可以尝试使用<code>docopt</code>,而不是使用<code>argparse</code>:</p>
<pre><code>"""optargs - testing optional arguments
Usage:
optargs
optargs foo
optargs <somestring>
"""
if __name__ == "__main__":
from docopt import docopt
args = docopt(__doc__)
print args
</code></pre>
<p>你可以寻求帮助:</p>
<pre><code>$ python optargs.py -h
optargs - testing optional arguments
Usage:
optargs
optargs foo
optargs <somestring>
</code></pre>
<p>然后,毫无争议地称之为:</p>
<pre><code>$ python optargs.py
{'<somestring>': None,
'foo': False}
</code></pre>
<p>然后使用参数<code>foo</code>(将<code>"foo"</code>键设置为<code>True</code>):</p>
<pre><code>$ python optargs.py foo
{'<somestring>': None,
'foo': True}
</code></pre>
<p>最后使用任意字符串(将<code>"<somestring>"</code>键设置为<code>"somstring"</code>:</p>
<pre><code>$ python optargs.py somstring
{'<somestring>': 'somstring',
'foo': False}
</code></pre>