在 Python OptParser 中解析任意数量的参数
如何在 Python 的 OptParser 中定义具有任意数量参数的选项?
我想要这样的东西:
python my_program.py --my-option X,Y # one argument passed, "X,Y"
python my_prgoram.py --my-option X,Y Z,W # two arguments passed, "X,Y" and "Z,W"
OptParser 的 nargs= 选项将我限制为定义的数字。我怎样才能做这样的事情?
parser.add_option("--my-options", dest="my_options", action="append", nargs="*")
它会简单地将 --my-option 之后的内容放入列表中?例如,对于情况 1,它应该是 ["X,Y"],对于情况 2,它应该是 ["X,Y", "Z,W"]。
使用 OptParser 有什么方法可以做到这一点?
谢谢。
How can I define an option with an arbitrary number of arguments in Python's OptParser?
I'd like something like:
python my_program.py --my-option X,Y # one argument passed, "X,Y"
python my_prgoram.py --my-option X,Y Z,W # two arguments passed, "X,Y" and "Z,W"
the nargs= option of OptParser limits me to a defined number. How can I do something like this?
parser.add_option("--my-options", dest="my_options", action="append", nargs="*")
which will simply take whatever's after --my-option and put it into a list? E.g. for case 1, it should be ["X,Y"], for case 2 it should be ["X,Y", "Z,W"].
What's a way to do this with OptParser?
thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
optarse 模块在 python 2.7(刚刚发布!)中已被弃用。如果可以升级,那么您可以使用其替换 argparse 模块。我认为这有你想要的。它支持
nargs
的'*'
值。http://docs.python.org/library/argparse.html#nargs
The optarse module is deprecated in python 2.7 (which has just been released!). If you can upgrade, then you can use its replacement the argparse module. I think that has what you want. It supports a
'*'
value fornargs
.http://docs.python.org/library/argparse.html#nargs
您是否尝试过省略 n_args 位? 文档中的示例表明您不需要它。
Have you tried ommitting the n_args bit? The examples in the docs suggest you don't need it.