Rei*_*und 7 python command-line command-line-arguments argparse
为什么argparse不会解析这些参数?
--foo 1 2 3 bar
Run Code Online (Sandbox Code Playgroud)
运用
parser = argparse.ArgumentParser()
parser.add_argument('--foo', nargs='+')
parser.add_argument('bar')
Run Code Online (Sandbox Code Playgroud)
这给出了以下错误:
错误:参数太少
如果我先通过bar参数,它可以工作:
bar --foo 1 2 3
Run Code Online (Sandbox Code Playgroud)
现在,这本身并不算太糟糕.我可以忍受首先使用位置参数,这只是因为这种行为与argparse为我们创建的帮助不一致,它指出bar应该是最后一个:
用法:argparsetest.py [-h] [ - foo FOO [FOO ...]]栏
那么如何使用一致的帮助文本来完成这项工作呢?
这是一个完整的测试程序.
也许尝试执行 --input --output 标志并将这些选项设置为 add_argument 中的 required=True ?
http://docs.python.org/dev/library/argparse.html#the-add-argument-method
归档时间: |
|
查看次数: |
1682 次 |
最近记录: |