Как определить опцию с произвольным числом аргументов в 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?
спасибо.
Модуль optarse устарел в python 2.7 (который только что был выпущен!). Если вы можете обновить, вы можете использовать его замену модуля argparse. Я думаю, что у вас есть то, что вы хотите. Он поддерживает значение '*'
для nargs
.
Пробовали ли вы бит n_args? Примеры в документах предполагают, что вам это не нужно.