Docopt: Можно ли указать повторяющийся позиционный аргумент, за которым следует один позиционный аргумент?

У меня есть простой скрипт на Python, который использует docopt для разбора аргументов командной строки. Это выглядит так:

#!/usr/bin/env python

__doc__ = """
Usage: mycopy <src>... <dest>
"""
from docopt import docopt

options = docopt(__doc__)

Когда я запускаю его:

./mycopy source1/ source2/ destination/

он просто печатает информацию об использовании, а это означает, что аргументы командной строки, которые я передал, были неправильными. Что-то не так со спецификацией использования? Возможно ли сделать что-то подобное с помощью docopt?


person Dan Keder    schedule 22.05.2014    source источник


Ответы (1)


Если вы поставите <dest> перед <src>..., это сработает. Соответственно запускать его с ./mycopy destination/ source1/ source2/.

Я думаю, что docopt не реализовал поддержку: ARGS... ARG. Этот случай усложняет реализацию. Но я согласен, что «копировать src1 src2 ... dest» более простое использование. Поэтому, возможно, вы могли бы отправить запрос в этот проект: https://github.com/docopt/docopt

person ZZY    schedule 23.05.2014
comment
Спасибо за ответ. Для этого я создал новую задачу на github: github.com/docopt/docopt/issues/190< /а> - person Dan Keder; 23.05.2014