Разбор произвольного количества аргументов в Python OptParser

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"

параметр nargs = OptParser ограничивает меня определенным числом. Как я могу сделать что-то подобное?

parser.add_option("--my-options", dest="my_options", action="append", nargs="*")

который просто возьмет что-то после опции -my и поместит ее в список? Например. для случая 1 это должно быть [ "X, Y" ], для случая 2 оно должно быть [ "X, Y", "Z, W" ].

Какой способ сделать это с помощью OptParser?

спасибо.

Теги:
command-line
optparse

2 ответа

3

Модуль optarse устарел в python 2.7 (который только что был выпущен!). Если вы можете обновить, вы можете использовать его замену модуля argparse. Я думаю, что у вас есть то, что вы хотите. Он поддерживает значение '*' для nargs.

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

0

Пробовали ли вы бит n_args? Примеры в документах предполагают, что вам это не нужно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню