Стандартная библиотека Python¶
Хотя Справочник по языку Python описывает точный синтаксис и семантику языка Python, в этом справочном руководстве описывается стандартная библиотека, которая распространяется вместе с Python. В нем также описаны некоторые необязательные компоненты, которые обычно включаются в Python дистрибутивы.
Стандартная библиотека Python очень обширна и предлагает широкий спектр возможностей, о чем свидетельствует подробное содержание, приведенное ниже. Библиотека содержит встроенные модули (написанные на языке C), обеспечивающие доступ к таким функциональным возможностям системы, как файловый ввод-вывод, который в противном случае был бы недоступен для Python программистов, а также модули, написанные на языке Python, обеспечивающие стандартные решения многих проблем, возникающих при повседневном программировании. Некоторые из этих модулей специально разработаны для поощрения и повышения переносимости Python программ путем абстракции особенностей платформы в виде нейтрального к платформе API.
Установщики Python для платформы Windows обычно включают всю стандартную библиотеку и часто также включают множество дополнительных компонентов. Для Unix-подобных операционных систем Python обычно предоставляется в виде набора пакетов, поэтому может потребоваться использование пакетных инструментов, поставляемые с операционной системой, для получения некоторых или всех необязательных компонентов.
Помимо стандартной библиотеки, существует растущая коллекция из нескольких тысяч компонентов (от отдельных программ и модулей до пакетов и фреймворков разработки приложений), доступных из Пакетного Индекса Python.
- Введение
- Встроенные функции
- Встроенные константы
- Встроенные типы
- Проверка истинности значения
- Логические операции —
and,or,not - Сравнения
- Числовые типы —
int,float,complex - Типы итератора
- Типы последовательности —
list,tuple,range - Тип последовательности текста —
str - Тип двоичной последовательности —
bytes,bytearray,memoryview - Типы множества —
set,frozenset - Типы сопоставления —
dict - Типы менеджера контекста
- Другие встроенные типы
- Специальные атрибуты
- Встроенные исключения
- Службы по обработке текста
string— Общие строковые операцииre— Операции с регулярными выражениямиdifflib— Хэлперы для вычисления различийtextwrap— Обертывание и заполнение текстаunicodedata— База данных Юникодstringprep— Подготовка строк для Интернетаreadline— Интерфейс к GNU readlinerlcompleter— Функция завершения для GNU readline
- Бинарные данные
- Типы данных
datetime— Базовые типы для представления даты и времениcalendar— Календарные функцииcollections— Контейнерные типы данныхcollections.abc— Абстрактные базовые классы для контейнеровheapq— Алгоритм очереди кучиbisect— Алгоритм деления пополамarray— Эффективные массивы числовых значенийweakref— Слабые ссылкиtypes— Динамическое создание типов и имена для встроенных типовcopy— Функции поверхностного и глубокого копированияpprint— Приятная печать данныхreprlib— Альтернативная реализацияrepr()enum— Поддержка перечислений
- Числовые и математические модули
numbers— Числовые абстрактные базовые классыmath— Математические функцииcmath— Математические функции для комплексных чиселdecimal— Десятичная арифметика с фиксированной и плавающей точкойfractions— Рациональные числаrandom— Генерация псевдослучайных чиселstatistics— Функции математической статистики
- Модули функционального программирования
- Доступ к файлам и каталогам
pathlib— Объектно-ориентированные пути файловой системыos.path— Общие манипуляции с путями к файлам и каталогамfileinput— Перебор строк из нескольких входных потоковstat— Интерпретация результатовstat()filecmp— Сравнение файлов и каталоговtempfile— Генерация временных файлов и каталоговglob— Шаблоны расширений пути в стиле оболочки Unixfnmatch— Соответствие шаблону имени файла Unixlinecache— Произвольный доступ к текстовым строкамshutil— Высокоуровневые файловые операции
- Постоянство данных
- Компрессия данных и архивация
- Форматы файлов
- Криптографические сервисы
- Универсальные слжбы для различных операционных систем
os— Разные интерфейсы операционной системыio— Основные инструменты для работы с потокамиtime— Время доступа и конверсииargparse— парсер параметров командной строки, аргументов и подкомандgetopt— С-подобный парсер параметров командной строкиlogging— Средство журналирования для Pythonlogging.config— Конфигурация журналированияlogging.handlers— Обработчики журналированияgetpass— Портабельный ввод пароляcurses— Отрисовка псевдографического интерфейса в терминалеcurses.textpad— Виджет текстового ввода для curses программcurses.ascii— Утилиты для ASCII символовcurses.panel— Расширение стека panel для cursesplatform— Доступ к данным идентификации базовой платформыerrno— Стандартные символы для errnoctypes— Python библиотека внешних функций
- Конкурентное выполнение
threading— Потоковый параллелизмmultiprocessing— Процессный параллелизмmultiprocessing.shared_memory— Предоставляет общую память для прямого доступа между процессами- Пакет
concurrent concurrent.futures— Запуск параллельных задачsubprocess— Управление подпроцессамиsched— Планировщик событийqueue— Класс синхронизированной очереди_thread— Низкоуровневый API потоков_dummy_thread— Замена модуля_threaddummy_threading— Замена модуляthreading
contextvars— Переменные контекста- Сетевое и межпроцессное взаимодействие
asyncio— Асинхронный I/Osocket— Низкоуровневый сетевой интерфейсssl— TLS/SSL обёртка для сокетных объектовselect— Ожидание завершения I/Oselectors— Высокоуровневое мультиплексирование I/Oasyncore— Асинхронный обработчик сокетовasynchat— Асинхронный сокет обработчика запрос/ответsignal— Установить обработчики для асинхронных событийmmap— Поддержка отображаемых в память файлов
- Обработка интернет данных
email— Электронная почта и пакет обработки MIMEjson— Кодер и декодер JSONmailcap— Обработка файлов Mailcapmailbox— Манипулирование почтовыми ящиками в различных форматахmimetypes— Сопоставление имен файлов с MIME типамиbase64— Base16, Base32, Base64, Base85 кодировки данныхbinhex— Кодирование и декодирование binhex4 файловbinascii— преобразования между двоичной и ASCIIquopri— Кодировать и декодировать MIME quoted-printable для печатиuu— Кодировать и декодировать файлы uuencode
- Инструменты обработки структурированной разметки
html— Поддержка языка гипертекстовой разметкиhtml.parser— Простой HTML и XHTML парсерhtml.entities— Определения общих сущностей HTML- Модули обработки XML
xml.etree.ElementTree— ElementTree XML APIxml.dom— API объектной модели документаxml.dom.minidom— Минимальная реализация DOMxml.dom.pulldom— Поддержка построения частичных деревьев DOMxml.sax— Поддержка SAX2 парсеровxml.sax.handler— Базовые классы для обработчиков SAXxml.sax.saxutils— Утилиты SAXxml.sax.xmlreader— Интерфейс для XML парсеровxml.parsers.expat— Быстрый парсинг XML с использованием Expat
- Интернет протоколы и поддержка
webbrowser— Удобный контроллер веб-браузераcgi— Поддержка Общего Интерфейса Шлюзаcgitb— Трейсбэк менеджер для CGI скриптовwsgiref— Утилиты WSGI и справочная реализацияurllib— Модули обработки URL-адресовurllib.request— Расширяемая библиотека для открытия URL-адресовurllib.response— Классы ответов, используемые urlliburllib.parse— Разбор URL-адреса на компонентыurllib.error— Классы исключений, созданные urllib.requesturllib.robotparser— Парсер для robots.txthttp— HTTP модулиhttp.client— Клиент протокола HTTPftplib— Клиент протокола FTPpoplib— Клиент протокола POP3imaplib— Клиент протокола IMAP4nntplib— Клиент протокола NNTPsmtplib— Клиент протокола SMTPsmtpd— SMTP серверtelnetlib— Клиент Telnetuuid— UUID объекты согласно RFC 4122socketserver— Фреймворк для сетевых серверовhttp.server— HTTP серверыhttp.cookies— Управление состоянием HTTPhttp.cookiejar— Обработка cookie для HTTP-клиентовxmlrpc— Серверные и клиентские XMLRPC модулиxmlrpc.client— Клиентский доступ к XML-RPCxmlrpc.server— Базовые серверы XML-RPCipaddress— Библиотека манипулирования IPv4/IPv6
- Мультимедийные сервисы
audioop— Манипуляция необработанными аудиоданнымиaifc— чтение и запись AIFF и AIFC файловsunau— Чтение и запись файлов Sun AUwave— Чтение и запись WAV файловchunk— Чтение IFF чанков данныхcolorsys— Преобразования между цветовыми системамиimghdr— Определение типа изображенияsndhdr— Определите типа звукового файлаossaudiodev— Доступ к OSS-совместимым аудиоустройствам
- Интернационализация
- Программные фреймворки
- Графические пользовательские интерфейсы с Tk
- Средства разработки
typing— Поддержка подсказок типаpydoc— Генератор документации и интерактивная справочная системаdoctest— Тестовые интерактивные примеры Pythonunittest— Фреймворк юнит тестированияunittest.mock— библиотека mock объектовunittest.mock— приступая к работе- 2to3 - автоматизированный перевод кода Python 2 на 3
test— Пакет регрессионных тестов для Pythontest.support— Утилиты для набора тестов Pythontest.support.script_helper— утилиты для выполнения тестов Python
- Отладка и профилирование
- Таблица аудита событий
bdb— Отладчный фреймворкfaulthandler— Дамп трассировки Pythonpdb— Отладчик Python- Профилировщики Python
timeit— Измерение времени выполнения небольших фрагментов кодаtrace— Трассировка или отслеживание выполнения инструкции Pythontracemalloc— Отслеживание выделения памяти
- Пакетизация и установка ПО
- Службы среды выполнения Python
sys— Системоспецифичные параметры и функцииsysconfig— Предоставляет доступ к информации о конфигурации Pythonbuiltins— Встроенные объекты__main__— Сценарий верхнего уровняwarnings— Управление предупреждениямиdataclasses— Классы данныхcontextlib— Утилиты для контекстовwith-оператора- Абстрактные базовые классы
abc atexit— Обработчики выходаtraceback— Распечатать или получить трассировку стека__future__— Определения будущих инструкцийgc— Интерфейс к сборщику мусораinspect— Осмотр живых объектовsite— Сайт-специфичный хук конфигурации
- Пользовательские интерпретаторы Python
- Импорт модулей
- Языковые сервисы Python
parser— Доступ к деревьям разбора Pythonast— Абстрактные синтаксические деревьяsymtable— Доступ к таблицам символов компилятораsymbol— Константы, используемые с деревьями синтаксического анализа Pythontoken— Константы, используемые с деревьями разбора Pythonkeyword— Тестирование ключевых слов Pythontokenize— Токенизатор для исходного кода Pythontabnanny— Обнаружение неоднозначного отступаpyclbr— Поддержка браузера Python модуляpy_compile— Компиляция исходных файлов Pythoncompileall— байт-компиляции библиотеки Pythondis— Дизассемблер для Python байткодаpickletools— Инструменты для pickle разработчиков
- Разные сервисы
- Специальные службы MS Windows
- Unix специфичные службы
posix— Наиболее распространенные системные вызовы POSIXpwd— База паролейspwd— База данных теневых паролейgrp— База данных группcrypt— Функция проверки Unix паролейtermios— POSIX стиль управления ttytty— Функции управления терминаломpty— Псевдо-терминальные утилитыfcntl— Системные вызовыfcntlиioctlpipes— Интерфейс для pipelines оболочкиresource— Информация об использовании ресурсовnis— Интерфейс для Sun NIS (Желтые страницы)syslog— Подпрограммы библиотеки syslog Unix
- Замененные модули
- Недокументированные модули
