1

如何在 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 有什么方法可以做到这一点?

谢谢。

4

2 回答 2

3

optarse 模块在 python 2.7(刚刚发布!)中已弃用。如果可以升级,则可以使用其替换 argparse 模块。我认为这有你想要的。它'*'支持nargs.

http://docs.python.org/library/argparse.html#nargs

于 2010-07-05T18:14:55.020 回答
0

您是否尝试过省略 n_args 位?文档中的示例表明您不需要它。

于 2010-07-05T18:06:46.927 回答