The Python Standard LibraryСтандартная библиотека Python
В то время как Справочник по языку Python описывает точный синтаксис и семантику языка Python, данное руководство по библиотеке описывает стандартную библиотеку, распространяемую с Python. Оно также описывает некоторые дополнительные компоненты, которые обычно входят в состав дистрибутивов Python.
Стандартная библиотека Python очень обширна и предоставляет широкий спектр возможностей, о чем свидетельствует длинное оглавление, приведенное ниже. Библиотека содержит встроенные модули (написанные на C), которые предоставляют доступ к системным функциям, таким как файловый ввод/вывод, которые в противном случае были бы недоступны программистам на Python, а также модули, написанные на Python, которые предоставляют стандартизированные решения для многих задач, возникающих в повседневном программировании. Некоторые из этих модулей специально разработаны для поощрения и повышения переносимости программ на Python путем абстрагирования от платформенно-зависимых особенностей к платформенно-независимым API.
Установщики Python для платформы Windows обычно включают всю стандартную библиотеку и часто также включают множество дополнительных компонентов. Для Unix-подобных операционных систем Python обычно предоставляется в виде набора пакетов, поэтому может потребоваться использование инструментов управления пакетами, предоставляемых операционной системой, для получения некоторых или всех дополнительных компонентов.
В дополнение к стандартной библиотеке существует активное собрание сотен тысяч компонентов (от отдельных программ и модулей до пакетов и целых фреймворков для разработки приложений), доступное в Python Package Index.
- Введение
- Встроенные функции
- Встроенные константы
- Встроенные типы
- Проверка истинности
- Логические операции –
and,or,not - Сравнения
- Числовые типы –
int,float,complex - Логический тип –
bool - Типы итераторов
- Типы последовательностей –
list,tuple,range - Сводка методов типов текстовых и двоичных последовательностей
- Тип текстовой последовательности –
str - Типы двоичных последовательностей –
bytes,bytearray,memoryview - Типы множеств –
set,frozenset - Типы отображений –
dict,frozendict - Типы менеджеров контекста
- Типы аннотаций типов – Generic Alias, Union
- Прочие встроенные типы
- Специальные атрибуты
- Ограничение длины преобразования целого числа в строку
- Встроенные исключения
- Гарантии потокобезопасности
- Службы обработки текста
string– Общие операции со строкамиstring.templatelib– Поддержка строковых литералов-шаблоновre– Операции с регулярными выражениямиdifflib– Вспомогательные функции для вычисления разностейtextwrap– Перенос и заполнение текстаunicodedata– База данных Unicodestringprep– Подготовка интернет-строкreadline– Интерфейс GNU readlinerlcompleter– Функция автодополнения для GNU readline
- Службы двоичных данных
- Типы данных
datetime– Базовые типы даты и времениzoneinfo– Поддержка часовых поясов IANAcalendar– Общие функции, связанные с календарёмcollections– Типы данных контейнеровcollections.abc– Абстрактные базовые классы для контейнеровheapq– Алгоритм очереди с кучейbisect– Алгоритм бисекции массивовarray– Эффективные массивы числовых значенийweakref– Слабые ссылкиtypes– Динамическое создание типов и имена для встроенных типовcopy– Операции поверхностного и глубокого копированияpprint– Красивая печать данныхreprlib– Альтернативная реализацияrepr()enum– Поддержка перечисленийgraphlib– Функциональность для работы с графоподобными структурами
- Числовые и математические модули
numbers– Числовые абстрактные базовые классыmath– Математические функцииmath.integer– Математические функции для целых чиселcmath– Математические функции для комплексных чиселdecimal– Десятичная арифметика с фиксированной и плавающей точкойfractions– Рациональные числаrandom– Генерация псевдослучайных чиселstatistics– Функции математической статистики
- Модули функционального программирования
- Доступ к файлам и каталогам
pathlib– Объектно-ориентированные пути файловой системыos.path– Типовые манипуляции с путямиstat– Интерпретация результатовstat()filecmp– Сравнение файлов и каталоговtempfile– Создание временных файлов и каталоговglob– Расширение шаблонов путей в стиле Unixfnmatch– Сопоставление с шаблоном имени файла в стиле Unixlinecache– Произвольный доступ к строкам текстаshutil– Операции с файлами высокого уровня
- Сохранение данных
- Сжатие данных и архивирование
- Форматы файлов
- Криптографические службы
- Общие службы операционной системы
os– Прочие интерфейсы операционной системыio– Основные инструменты для работы с потоками данныхtime– Доступ ко времени и преобразованияlogging– Средство журналирования для Pythonlogging.config– Конфигурация журналированияlogging.handlers– Обработчики журналированияplatform– Доступ к идентифицирующим данным нижележащей платформыerrno– Стандартные системные символы errnoctypes– Библиотека внешних функций для Python
- Библиотеки интерфейса командной строки
argparse– Синтаксический анализатор параметров, аргументов и подкоманд командной строкиoptparse– Синтаксический анализатор параметров командной строкиgetpass– Переносимый ввод пароляfileinput– Итерация по строкам из нескольких входных потоковcurses– Управление терминалом для символьных дисплеевcurses.textpad– Виджет текстового ввода для программ cursescurses.ascii– Утилиты для работы с ASCII-символамиcurses.panel– Расширение стека панелей для cursescmd– Поддержка командно-строковых интерпретаторов
- Параллельное выполнение
threading– Параллелизм на основе потоковmultiprocessing– Параллелизм на основе процессовmultiprocessing.shared_memory– Разделяемая память для прямого доступа между процессами- Пакет
concurrent concurrent.futures– Запуск параллельных задачconcurrent.interpreters– Несколько интерпретаторов в одном процессеsubprocess– Управление подпроцессамиsched– Планировщик событийqueue– Синхронизированный класс очередиcontextvars– Переменные контекста_thread– Низкоуровневый API потоков
- Сеть и межпроцессное взаимодействие
asyncio– Асинхронный ввод-выводsocket– Низкоуровневый сетевой интерфейсssl– Обёртка TLS/SSL для сокетовselect– Ожидание завершения ввода-выводаselectors– Мультиплексирование ввода-вывода высокого уровняsignal– Установка обработчиков для асинхронных событийmmap– Поддержка файлов, отображаемых в память
- Обработка интернет-данных
email– Пакет для работы с email и MIMEjson– Кодировщик и декодировщик JSONmailbox– Работа с почтовыми ящиками в различных форматахmimetypes– Сопоставление имён файлов с MIME-типамиbase64– Кодирование данных Base16, Base32, Base64, Base85binascii– Преобразование между двоичным и ASCII-представлениемquopri– Кодирование и декодирование данных в формате MIME quoted-printable
- Инструменты обработки структурированной разметки
html– Поддержка языка гипертекстовой разметкиhtml.parser– Простой парсер HTML и XHTMLhtml.entities– Определения общих сущностей HTML- Модули обработки XML
xml.etree.ElementTree– XML API ElementTreexml.dom– API объектной модели документа (DOM)xml.dom.minidom– Минимальная реализация DOMxml.dom.pulldom– Поддержка построения частичных DOM-деревьевxml.sax– Поддержка парсеров SAX2xml.sax.handler– Базовые классы для обработчиков SAXxml.sax.saxutils– Утилиты SAXxml.sax.xmlreader– Интерфейс для парсеров XMLxml.parsers.expat– Быстрый разбор XML с помощью Expat
- Интернет-протоколы и поддержка
webbrowser– Удобный контроллер веб-браузераwsgiref– Утилиты WSGI и эталонная реализацияurllib– Модули для работы с URLurllib.request– Расширяемая библиотека для открытия URLurllib.response– Классы ответов, используемые urlliburllib.parse– Разбирает URL на компонентыurllib.error– Классы исключений, возбуждаемые urllib.requesturllib.robotparser– Парсер для robots.txthttp– Модули HTTPhttp.client– Клиент протокола HTTPftplib– Клиент протокола FTPpoplib– Клиент протокола POP3imaplib– Клиент протокола IMAP4smtplib– Клиент протокола SMTPuuid– Объекты UUID в соответствии с RFC 9562socketserver– Фреймворк для сетевых серверовhttp.server– HTTP-серверыhttp.cookies– Управление состоянием HTTPhttp.cookiejar– Обработка куки для HTTP-клиентовxmlrpc– Модули сервера и клиента XML-RPCxmlrpc.client– Доступ клиента XML-RPCxmlrpc.server– Базовые серверы XML-RPCipaddress– Библиотека для работы с IPv4/IPv6
- Мультимедийные службы
- Интернационализация
- Графические интерфейсы пользователя с Tk
tkinter– Интерфейс Python к Tcl/Tktkinter.colorchooser– Диалог выбора цветаtkinter.font– Обёртка шрифтов Tkinter- Диалоги Tkinter
tkinter.messagebox– Диалоговые окна сообщений Tkintertkinter.scrolledtext– Виджет прокручиваемого текстаtkinter.dnd– Поддержка перетаскиванияtkinter.ttk– Виджеты с темой Tk- IDLE – редактор и оболочка Python
turtle– Черепашья графика
- Инструменты разработки
typing– Поддержка аннотаций типовpydoc– генератор документации и система онлайн-справки- Режим разработки Python
doctest– тестирование интерактивных примеров Pythonunittest– Фреймворк для модульного тестированияunittest.mock– Библиотека mock-объектовunittest.mock– Начало работыtest– Пакет регрессионных тестов для Pythontest.support– Утилиты для набора тестов Pythontest.support.socket_helper– Утилиты для тестирования сокетовtest.support.script_helper– Утилиты для тестов выполнения Pythontest.support.bytecode_helper– Вспомогательные средства для проверки корректной генерации байт-кодаtest.support.threading_helper– Утилиты для тестирования потоковtest.support.os_helper– Утилиты для тестов ostest.support.import_helper– Утилиты для тестов импортаtest.support.warnings_helper– Утилиты для тестов предупреждений
- Отладка и профилирование
- Таблица событий аудита
bdb– Фреймворк отладчикаfaulthandler– Вывод трассировки Pythonpdb– Отладчик Pythonprofiling– Профилировщики Pythonpstats– Статистика для профилировщиковtimeit– Измерение времени выполнения небольших фрагментов кодаtrace– Трассировка выполнения операторов Pythontracemalloc– Трассировка выделения памяти
- Упаковка и распространение ПО
- Службы времени выполнения Python
sys– Системно-зависимые параметры и функцииsys.monitoring– Мониторинг событий выполненияsysconfig– Предоставляет доступ к информации о конфигурации Pythonbuiltins– Встроенные объекты__main__– Среда кода верхнего уровняwarnings– Управление предупреждениямиdataclasses– Классы данныхcontextlib– Утилиты для контекстов оператораwithabc– Абстрактные базовые классыatexit– Обработчики завершенияtraceback– Вывод или получение трассировки стека__future__– Определения оператора futuregc– Интерфейс сборщика мусораinspect– Инспекция живых объектовannotationlib– Функциональность для интроспекции аннотацийsite– Хук конфигурации, специфичный для сайта
- Пользовательские интерпретаторы Python
- Импорт модулей
zipimport– Импорт модулей из Zip-архивовpkgutil– Утилита расширения пакетовmodulefinder– Поиск модулей, используемых скриптомrunpy– Поиск и выполнение модулей Pythonimportlib– Реализацияimportimportlib.resources– Чтение, открытие и доступ к ресурсам пакетовimportlib.resources.abc– Абстрактные базовые классы для ресурсовimportlib.metadata– Доступ к метаданным пакетов- Инициализация пути поиска модулей
sys.path
- Службы языка Python
ast– Абстрактные синтаксические деревьяsymtable– Доступ к таблицам символов компилятораtoken– Константы, используемые с деревьями разбора Pythonkeyword– Проверка ключевых слов Pythontokenize– Токенизатор исходного кода Pythontabnanny– Обнаружение неоднозначных отступовpyclbr– Поддержка обозревателя модулей Pythonpy_compile– Компиляция исходных файлов Pythoncompileall– Байт-компиляция библиотек Pythondis– Дисассемблер для байт-кода Pythonpickletools– Инструменты для разработчиков pickle
- Специфичные для MS Windows службы
- Службы, специфичные для Unix
shlex– Простой лексический анализposix– Наиболее распространённые системные вызовы POSIXpwd– База данных паролейgrp– База данных группtermios– Управление tty в стиле POSIXtty– Функции управления терминаломpty– Утилиты для псевдотерминаловfcntl– Системные вызовыfcntlиioctlresource– Информация об использовании ресурсовsyslog– Подпрограммы библиотеки syslog Unix
- Интерфейс командной строки (CLI) модулей
- Заменённые модули
- Удалённые модули
- Вопросы безопасности