Стандартная библиотека Python
Если в Справочнике по языку Python описаны точный синтаксис и семантика языка Python, то в этом справочном руководстве по библиотеке описана стандартная библиотека, распространяемая вместе с Python. В нём также описаны некоторые дополнительные компоненты, часто включаемые в дистрибутивы Python.
Стандартная библиотека Python очень обширна и предлагает широкий набор возможностей, о чём свидетельствует приведённое ниже длинное оглавление. Библиотека содержит встроенные модули (написанные на C), которые обеспечивают доступ к системным функциям, таким как ввод-вывод файлов, обычно недоступным программистам на Python, а также модули, написанные на Python и предлагающие стандартизированные решения многих задач, возникающих в повседневном программировании. Некоторые из этих модулей специально разработаны для поощрения и повышения переносимости программ на Python: они скрывают платформенные особенности за платформенно-независимыми API.
Установщики Python для платформы Windows обычно включают всю стандартную библиотеку, а часто и множество дополнительных компонентов. В Unix-подобных операционных системах Python обычно предоставляется в виде набора пакетов, поэтому для получения некоторых или всех дополнительных компонентов может потребоваться воспользоваться средствами управления пакетами, предоставляемыми операционной системой.
Помимо стандартной библиотеки, существует активно развивающаяся коллекция из сотен тысяч компонентов — от отдельных программ и модулей до пакетов и целых фреймворков для разработки приложений. Она доступна в Индексе пакетов Python.
- Введение
- Встроенные функции
- Встроенные константы
-
Встроенные типы
- Проверка логического значения
- Логические операции —
and,or,not - Сравнения
- Числовые типы —
int,float,complex - Логический тип —
bool - Типы итераторов
- Типы последовательностей —
list,tuple,range - Текстовый тип последовательности —
str - Типы двоичных последовательностей —
bytes,bytearray,memoryview - Типы множеств —
set,frozenset - Типы отображений —
dict - Типы менеджеров контекста
- Типы аннотаций типов — Обобщённый псевдоним, Объединение
- Другие встроенные типы
- Специальные атрибуты
- Ограничение длины строки при преобразовании целых чисел
- Встроенные исключения
-
Службы обработки текста
string— Основные операции со строкамиre— Операции с регулярными выражениямиdifflib— Вспомогательные средства для вычисления различийtextwrap— Перенос и заполнение текстаunicodedata— База данных Юникодаstringprep— Подготовка строк для Интернетаreadline— Интерфейс GNU readlinerlcompleter— Функция автодополнения для GNU readline
- Службы обработки двоичных данных
-
Типы данных
datetime— Основные типы даты и времениzoneinfo— Поддержка часовых поясов IANAcalendar— Общие функции для работы с календарёмcollections— Типы контейнеровcollections.abc— Абстрактные базовые классы для контейнеровheapq— Алгоритм очереди с приоритетами на кучеbisect— Алгоритм дихотомического поиска в массивеarray— Эффективные массивы числовых значенийweakref— Слабые ссылкиtypes— Динамическое создание типов и имена встроенных типовcopy— Операции поверхностного и глубокого копированияpprint— Средство форматированного вывода данныхreprlib— Альтернативная реализацияrepr()enum— Поддержка перечисленийgraphlib— Функции для работы с графоподобными структурами
-
Числовые и математические модули
numbers— Абстрактные базовые классы для чиселmath— Математические функции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— Утилиты для символов ASCIIcurses.panel— Расширение для стека панелей cursescmd— Поддержка интерпретаторов команд с построчным вводом
-
Параллельное выполнение
threading— Параллелизм на основе потоковmultiprocessing— Параллелизм на основе процессовmultiprocessing.shared_memory— Разделяемая память для прямого доступа из разных процессов- Пакет
concurrent concurrent.futures— Запуск параллельных задачsubprocess— Управление подпроцессамиsched— Планировщик событийqueue— Класс синхронизированной очередиcontextvars— Переменные контекста_thread— Низкоуровневый API потоков
-
Сетевое взаимодействие и межпроцессное взаимодействие
asyncio— Асинхронный ввод-выводsocket— Низкоуровневый сетевой интерфейсssl— Обёртка TLS/SSL для сокетовselect— Ожидание завершения операций ввода-выводаselectors— Высокоуровневая мультиплексация ввода-выводаsignal— Назначение обработчиков асинхронных событийmmap— Поддержка отображения файлов в память
-
Обработка данных из Интернета
email— Пакет для обработки электронной почты и MIMEjson— Кодировщик и декодировщик JSONmailbox— Работа с почтовыми ящиками различных форматовmimetypes— Сопоставление имён файлов с типами MIMEbase64— Кодирование данных в Base16, Base32, Base64 и Base85binascii— Преобразование между двоичными данными и ASCIIquopri— Кодирование и декодирование данных MIME quoted-printable
-
Инструменты обработки структурированной разметки
html— Поддержка языка разметки гипертекстаhtml.parser— Простой анализатор HTML и XHTMLhtml.entities— Определения общих сущностей HTML- Модули обработки XML
xml.etree.ElementTree— API XML ElementTreexml.dom— API объектной модели документаxml.dom.minidom— Минимальная реализация DOMxml.dom.pulldom— Поддержка создания частичных деревьев DOMxml.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 4122socketserver— Инфраструктура для сетевых серверовhttp.server— HTTP-серверыhttp.cookies— Управление состоянием HTTPhttp.cookiejar— Обработка файлов cookie для HTTP-клиентовxmlrpc— Модули сервера и клиента XMLRPCxmlrpc.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— Библиотека объектов-заглушек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— Отладчик Python- Профилировщики Python
timeit— Измерение времени выполнения небольших фрагментов кодаtrace— Трассировка или отслеживание выполнения инструкций Pythontracemalloc— Отслеживание выделения памяти
- Упаковка и распространение программного обеспечения
-
Службы времени выполнения Python
sys— Системные параметры и функцииsys.monitoring— Мониторинг событий выполненияsysconfig— Доступ к сведениям о конфигурации Pythonbuiltins— Встроенные объекты__main__— Среда выполнения кода верхнего уровняwarnings— Управление предупреждениямиdataclasses— Классы данныхcontextlib— Утилиты для контекстов оператораwithabc— Абстрактные базовые классыatexit— Обработчики завершенияtraceback— Вывод или получение трассировки стека__future__— Определения оператора futuregc— Интерфейс сборщика мусораinspect— Инспектирование действующих объектов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— Компиляция библиотек Python в байт-кодdis— Дизассемблер байт-кода Pythonpickletools— Инструменты для разработчиков pickle
- Службы, специфичные для MS Windows
-
Службы, специфичные для Unix
shlex— Простой лексический анализposix— Наиболее распространённые системные вызовы POSIXpwd— База данных паролейgrp— База данных группtermios— Управление tty в стиле POSIXtty— Функции управления терминаломpty— Утилиты псевдотерминалаfcntl— Системные вызовыfcntlиioctlresource— Сведения об использовании ресурсовsyslog— Процедуры библиотеки syslog Unix
- Интерфейс командной строки (CLI) модулей
- Устаревшие модули
- Удалённые модули
- Вопросы безопасности
© 2001–2025 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/library/index.html