Source: Arguments parsing in python
← Renderedmarkdown source:
---
description: Парсинг аргументов командной строки в python
tags: python-standart-library cli python
title: Arguments parsing in python
---
- [argparse](https://docs.python.org/3/library/argparse.html) реализует интерфейс для создания процессоров аргументов и параметров командной строки. [Туториал смотри тут](https://docs.python.org/3/howto/argparse.html). Более продвинутым аналогом является [[click]]
- [getopt](https://docs.python.org/3/library/getopt.html?highlight=getopt#module-getopt) лексический анализатор, соответствующий правилам ф-ии `getopt()` в Unix. Устарел - использовать argparse или сторонние аналоги
- [readline](https://docs.python.org/3/library/readline.html?highlight=readline#module-readline) - интерфейс библиотеки GNU Readline, позволяющий реализовать автозавершение и историю ввода для утилит командной строки
- [getpass](https://docs.python.org/3/library/getpass.html?highlight=getpass#module-getpass) сокрытие вывода паролей
- [cmd](https://docs.python.org/3/library/cmd.html?highlight=cmd#module-cmd) дальнейшее развитие идеи readline
- [shlex](https://docs.python.org/3/library/shlex.html?highlight=shlex#module-shlex) реализует лексический разбор строк в стиле командной оболочки Unix (полезно для корректного разборас строк с кавычками)
- [configparser](https://docs.python.org/3/library/configparser.html?highlight=configparser#module-configparser) парсинг файлов-конфигов в формате `.ini`. Для парсинга других общеприменимых форматов используй: [json](https://docs.python.org/3/library/json.html?highlight=json#module-json), [[toml]], [[yaml]]
- [fileinput](https://docs.python.org/3/library/fileinput.html?highlight=fileinput#module-fileinput) позволяет создать утилиты командной строки, реализующих фильтры для обработки текстовых файлов. Это бывает полезно, когда надо передать какие-то метаданные через инпут.
Сторонние либы для создания cli:
- [typer](https://typer.tiangolo.com/) is a library for building CLI applications
- [[click]]
- [Questionary](https://questionary.readthedocs.io/en/stable/index.html#) is a Python library for effortlessly building pretty command line interfaces. It makes it very easy to query your user for input
Смотри еще:
-[[python-standart-library]]
[click]: click "Click интерфейс командной строки"
[toml]: toml "Toml"
[yaml]: yaml "Yaml"
[python-standart-library]: ../lists/python-standart-library "Стандартная библиотека python и полезные ресурсы"