Пропустить до содержимого

Как использовать клик в Python

[

Click и Python: создание расширяемых и составных интерфейсов командной строки

Вы можете использовать библиотеку Click для быстрого предоставления вашим скриптам автоматизации и инструментам на Python расширяемого, составного и удобного интерфейса командной строки (CLI). Независимо от того, разработчик вы, ученый по данным, инженер DevOps или человек, часто использующий Python для автоматизации повторяющихся задач, вы очень оцените Click и его уникальные функции.

В этом руководстве вы узнаете, как:

  • Создавать интерфейсы командной строки с помощью Click и Python
  • Добавлять аргументы, опции и подкоманды в ваши приложения командной строки
  • Улучшать использование и страницы справки ваших приложений CLI с помощью Click
  • Подготовить приложение Click CLI к установке, использованию и распространению

Создание интерфейсов командной строки с помощью Click и Python

[Click](https://click

Почему использовать Click для разработки CLI

Click - это простая и легкая в использовании библиотека для создания интерфейсов командной строки на Python. Он предлагает чистый синтаксис и интуитивно понятный подход к созданию CLI приложений.

Основные преимущества Click:

  • Простота использования: Click предоставляет простые декларативные декораторы для создания CLI команд и опций. Он делает создание командной строки простой задачей даже для новичков в Python.
  • Гибкость: Click позволяет создавать сложные команды с подкомандами, аргументами и опциями, и предоставляет мощные инструменты для управления вводом-выводом и обработки ошибок.
  • Расширяемость: Click позволяет создавать пользовательские типы параметров и опций, а также поддерживать легко расширяемый код.
  • Подробные сообщения об ошибках: Click предлагает дружественные и информативные сообщения об ошибках, которые помогут пользователям понять и исправить проблемы.

С Click вы можете создавать профессиональные и удобные в использовании CLI приложения на Python всего с несколькими строками кода.

Установка и настройка Click: ваше первое CLI-приложение

Перед тем, как приступить к созданию ваших первых CLI-команд с Click, вам понадобится установить библиотеку:

Terminal window
$ pip install click

После установки Click вы готовы создать свое первое CLI-приложение. Создайте новый файл с именем cli.py и добавьте следующий код:

import click
@click.command()
def hello():
click.echo("Hello, World!")
if __name__ == "__main__":
hello()

В этом примере мы импортируем библиотеку Click и создаем декорированную функцию hello(), которая выводит сообщение “Hello, World!” при вызове. Затем мы используем декоратор @click.command() для указания, что hello() является CLI-командой.

Чтобы запустить CLI-приложение с помощью Click, выполните следующую команду:

Terminal window
$ python cli.py

Вы должны увидеть следующий вывод:

Hello, World!

Поздравляю! Вы только что создали свое первое CLI-приложение с помощью Click и Python.

В следующих разделах мы рассмотрим, как добавлять аргументы, опции и подкоманды в приложение Click CLI, а также как улучшить ваши приложения CLI с помощью функций Click, таких как документирование и настройка сообщений о помощи.

Добавление аргументов в приложение Click

Аргументы позволяют передавать значения в ваше CLI-приложение при его вызове. Click предоставляет несколько способов добавления аргументов в ваши команды.

Добавление основных аргументов

Основные аргументы - это аргументы, которые передаются в команду без указания их имен. Они добавляются с простым вызовом @click.argument() и предоставляются в функцию команды в порядке их указания в командной строке.

import click
@click.command()
@click.argument("name")
def greet(name):
click.echo(f"Hello, {name}!")
if __name__ == "__main__":
greet()

В этом примере мы добавляем основной аргумент name с помощью декоратора @click.argument(). Значение этого аргумента передается в функцию greet(), и мы выводим сообщение с приветствием, используя это значение.

Вы можете запустить это CLI-приложение с аргументом следующим образом:

Terminal window
$ python cli.py John

Вы должны увидеть следующий вывод:

Hello, John!

Click автоматически преобразует входной аргумент в соответствующий тип данных. По умолчанию все аргументы считаются строками. Если вам нужно использовать другие типы данных, такие как целые числа или числа с плавающей запятой, вы можете указать это явно:

import click
@click.command()
@click.argument("count", type=int)
def repeat(count):
for _ in range(count):
click.echo("Hello!")
if __name__ == "__main__":
repeat()

В этом примере мы добавляем аргумент count и указываем тип данных int. Затем мы используем данный аргумент для определения числа повторений приветствия.

Вы можете запустить это приложение следующим образом:

Terminal window
$ python cli.py 3

Вы должны увидеть следующий вывод:

Hello!
Hello!
Hello!

Использование путь аргументов

Click также позволяет вам определить аргументы, которые принимают значения в виде путей файлов или каталогов. Для этого вы можете использовать декоратор @click.argument() с аргументом type=click.Path().

import click
@click.command()
@click.argument("path", type=click.Path(exists=True))
def read_file(path):
with open(path) as f:
contents = f.read()
click.echo(contents)
if __name__ == "__main__":
read_file()

В этом примере мы добавляем аргумент path с типом click.Path(exists=True), что означает, что входной путь должен существовать. Затем мы читаем содержимое файла, используя входной путь, и выводим его.

Вы можете запустить это приложение следующим образом:

Terminal window
$ python cli.py myfile.txt

Вы должны увидеть содержимое указанного файла.

Принятие вариативных аргументов

Sometext