Python

Разбор аргументов командной строки

Algonexys · 07.08.2026 · 👁 0

Шаблон CLI на argparse: позиционные и опциональные аргументы, подкоманды, коды возврата.

Код

import argparse
import sys


def build_parser():
    parser = argparse.ArgumentParser(
        prog="digitmind", description="Утилита обработки файлов"
    )
    parser.add_argument("path", help="Путь к каталогу")
    parser.add_argument("-o", "--output", default="result.json", help="Файл результата")
    parser.add_argument("-v", "--verbose", action="store_true", help="Подробный вывод")
    parser.add_argument("--limit", type=int, default=100, help="Максимум записей")
    parser.add_argument(
        "--format", choices=("json", "csv", "xml"), default="json", help="Формат"
    )
    return parser


def main(argv=None):
    args = build_parser().parse_args(argv)
    if args.verbose:
        print(f"Обрабатываю {args.path} → {args.output} ({args.format})")
    return 0


if __name__ == "__main__":
    sys.exit(main())