РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
642 of 643 menu

Метод pass_context

Метод pass_context применяется к декоратору команды Click и позволяет функции-обработчику получить доступ к объекту контекста ctx. Контекст содержит информацию о текущей команде, её параметрах, родительских командах и других данных. Метод не принимает параметров и возвращает декорированную функцию.

Синтаксис

@click.command() @click.pass_context def command_name(ctx): pass

Пример

Давайте создадим простую команду с использованием pass_context и выведем имя команды:

import click @click.command() @click.pass_context def hello(ctx): click.echo(f'Command name: {ctx.command.name}') if __name__ == '__main__': hello()

Результат выполнения команды:

python app.py
Command name: hello

Пример

Давайте передадим данные из родительской группы в дочернюю команду через контекст:

import click @click.group() @click.pass_context def cli(ctx): ctx.obj = {'user': 'abcde'} @cli.command() @click.pass_context def show(ctx): click.echo(f'User: {ctx.obj["user"]}') if __name__ == '__main__': cli()

Результат выполнения команды:

python app.py show
User: abcde

Смотрите также

  • класс Click,
    который предоставляет основные инструменты для создания CLI
  • метод command,
    который создаёт новую команду
  • метод group,
    который создаёт группу команд
  • метод make_pass_decorator,
    который создаёт собственный декоратор для передачи контекста
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить