Как мне начать реализовывать docopt в моем классе Python

У меня работает следующий класс python, и я хочу создать интерфейс командной строки для использования пользователем. Я наткнулся на docopt и подумал, что это хорошая идея. Я не встречал учебника или документации, показывающей, как интегрировать docopt в ваши классы Python, все, что я получаю, это просто небольшие функции. Является ли это возможным? Ссылка с полезной информацией помогла бы мне, или просто небольшой фрагмент, который помог бы мне найти свой путь, был бы очень полезен.

class Bootcamp(object):
    tasks = {1: "TDD", 2: "OOP", 3: "Programming Logic", 4:
         "Version Control", 5: "Agile Methodology",
         6: "Growth Mindset", 7: "Asking Questions", 8:
         "Motivation and Commitment", 9: "Speaking"}

    def __init__(self, name, tasks=tasks):
        self.name = name
        self.tasks = tasks
        self.completed = []
        self.incompleted = tasks.values()

    def add_completed_items(self, i):
        if i in self.tasks.keys():
            self.completed.append(self.tasks[i])
            self.incompleted.remove(self.tasks[i])
            return "tasks added to complete"
        else:
            return "not in the tasks"

    def check_progress(self):
        self.progress = float(len(self.completed)) / \
             float(len(self.tasks)) * 100
        return int(self.progress) 

person Nix    schedule 09.04.2017    source источник
comment
Что вы подразумеваете под интеграцией docopt в ваши классы Python? Может быть, вы ищете строки документации?   -  person greole    schedule 09.04.2017
comment
Я хочу создать интерфейс cli для своего класса, используя docopt   -  person Nix    schedule 09.04.2017
comment
Можете ли вы привести пример того, как вы хотите взаимодействовать со своим классом через cli?   -  person greole    schedule 09.04.2017
comment
Это класс, который был разработан для того, чтобы пользователь мог проверять задачи, которые он или она должны выполнить. Пользователь может добавлять выполненные задачи и даже проверять прогресс в процентах с помощью метода check_progress. Возможно, пользователь мог бы назвать свое имя, затем проверить задачи и позже проверить задачи, которые он выполнил. Он может просматривать оставшиеся задачи.   -  person Nix    schedule 09.04.2017


Ответы (1)


На docopt странице GitHub есть описание.


Например:

"""Naval Fate.

Usage:
  naval_fate.py ship new <name>...
  naval_fate.py ship <name> move <x> <y> [--speed=<kn>]
  naval_fate.py ship shoot <x> <y>
  naval_fate.py mine (set|remove) <x> <y> [--moored | --drifting]
  naval_fate.py (-h | --help)
  naval_fate.py --version

Options:
  -h --help     Show this screen.
  --version     Show version.
  --speed=<kn>  Speed in knots [default: 10].
  --moored      Moored (anchored) mine.
  --drifting    Drifting mine.

"""
from docopt import docopt


if __name__ == '__main__':
    arguments = docopt(__doc__, version='Naval Fate 2.0')
    print(arguments)

Однако я не уверен, что docopt предназначен для того, что вы надеетесь сделать. Он предназначен для обработки параметров командной строки при вызове сценария, а не всего интерфейса командной строки.

person Arya McCarthy    schedule 09.04.2017
comment
Это то, о чем я спрашивал, может ли он сделать CLI для приложения. Думаю, я просто буду использовать его как руководство пользователя, чтобы помочь в проведении моего класса. - person Nix; 09.04.2017
comment
Вы можете лучше использовать Click. - person Arya McCarthy; 09.04.2017