Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70% Забронировать скидку
29 Июн 2023
3 мин
1626

Как создать CLI-приложение на Python

Узнайте, как создать полезное CLI-приложение на Python с подкомандами и обработкой ошибок, следуя простым шагам в этой статье.

CLI (Command Line Interface) — это интерфейс, позволяющий пользователю взаимодействовать с программой с помощью текстовых команд. В этой статье мы рассмотрим, как создать простое CLI-приложение на Python.

1. Создание базового CLI-приложения

Сначала создадим простой скрипт на Python, который будет принимать аргументы из командной строки и выводить их на экран. Для этого нам понадобится модуль argparse.

import argparse

parser = argparse.ArgumentParser(description="Простое CLI-приложение на Python")
parser.add_argument("input", help="Введите текст, который вы хотите вывести на экран")
args = parser.parse_args()

print(args.input)

Сохраните этот код в файле cli_app.py. Теперь вы можете запустить приложение из командной строки, передав аргумент:

python cli_app.py "Hello, world!"

2. Добавление подкоманд

Чтобы сделать наше приложение более функциональным, добавим подкоманды. Например, добавим команду greet, которая будет выводить приветствие, и команду reverse, которая будет выводить текст в обратном порядке.

import argparse

parser = argparse.ArgumentParser(description="CLI-приложение на Python с подкомандами")
subparsers = parser.add_subparsers()

# Команда greet
parser_greet = subparsers.add_parser("greet", help="Выводит приветствие")
parser_greet.add_argument("name", help="Введите ваше имя")
parser_greet.set_defaults(func=lambda args: print(f"Hello, {args.name}!"))

# Команда reverse
parser_reverse = subparsers.add_parser("reverse", help="Выводит текст в обратном порядке")
parser_reverse.add_argument("text", help="Введите текст для переворота")
parser_reverse.set_defaults(func=lambda args: print(args.text[::-1]))

# Обработка аргументов
args = parser.parse_args()
args.func(args)

Теперь наше приложение поддерживает две подкоманды: greet и reverse. Вы можете использовать их следующим образом:

python cli_app.py greet "Alice"
python cli_app.py reverse "Hello, world!"

3. Обработка ошибок и вывод справки

Для улучшения пользовательского опыта добавим обработку ошибок и вывод справки по каждой команде.

import argparse
import sys

def main(args):
    parser = argparse.ArgumentParser(description="CLI-приложение на Python с подкомандами")
    subparsers = parser.add_subparsers()

    # Команда greet
    parser_greet = subparsers.add_parser("greet", help="Выводит приветствие")
    parser_greet.add_argument("name", help="Введите ваше имя")
    parser_greet.set_defaults(func=lambda args: print(f"Hello, {args.name}!"))

    # Команда reverse
    parser_reverse = subparsers.add_parser("reverse", help="Выводит текст в обратном порядке")
    parser_reverse.add_argument("text", help="Введите текст для переворота")
    parser_reverse.set_defaults(func=lambda args: print(args.text[::-1]))

    # Обработка аргументов
    if len(args) == 0:
        parser.print_help()
        sys.exit(1)

    args = parser.parse_args(args)
    args.func(args)

if __name__ == "__main__":
    main(sys.argv[1:])

Теперь, если пользователь не введет ни одной команды, приложение выведет справку по доступным командам.

Поздравляю! Вы только что создали свое первое CLI-приложение на Python! 🎉 Не останавливайтесь на достигнутом и продолжайте изучать возможности Python для создания еще более мощных и полезных приложений.

Добавить комментарий

Подарок
Забрать подарок