Стандартная библиотека Python
В то время как Справочник по языку Python описывает точный синтаксис и семантику языка Python, данный справочник по библиотеке описывает стандартную библиотеку, поставляемую с Python. Он также описывает некоторые дополнительные компоненты, которые обычно включаются в дистрибутивы Python.
Стандартная библиотека Python очень обширна, предлагая широкий спектр возможностей, как указано в длинном содержании, представленном ниже. Библиотека содержит встроенные модули (написанные на C), которые обеспечивают доступ к системным функциям, таким как ввод-вывод файлов, которые в противном случае были бы недоступны для программистов Python, а также модули, написанные на Python, которые предоставляют стандартизированные решения для многих проблем, возникающих в повседневном программировании. Некоторые из этих модулей специально разработаны для поощрения и повышения переносимости программ Python путем абстрагирования платформоспецифических особенностей в платформенно-нейтральные API.
Инсталляторы Python для платформы Windows обычно включают всю стандартную библиотеку и часто также включают много дополнительных компонентов. Для уникоподобных операционных систем 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— Базовые типы дат и времени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— Общие манипуляции с именами путейfileinput— Итерирование по строкам из нескольких входных потоковstat— Интерпретация результатовstat()filecmp— Сравнение файлов и каталоговtempfile— Генерировать временные файлы и каталогиglob— Расширение шаблонов имен путей в стиле Unixfnmatch— Сопоставление шаблонов имён файлов в стиле Unixlinecache— Случайный доступ к строкам текстаshutil— Операции с файлами высокого уровня
- Сохранение данных
- Сжатие данных и архивирование
- Форматы файлов
- Криптографические сервисы
-
Общие сервисы операционной системы
os— Разнообразные интерфейсы операционной системыio— Основные инструменты для работы с потокамиtime— Доступ к времени и преобразованияargparse— Парсер командной строки для параметров, аргументов и подкомандgetopt— Парсер опций командной строки в стиле Clogging— Модуль ведения журналов для Pythonlogging.config— Настройка ведения журналовlogging.handlers— Обработчики ведения журналовgetpass— Портабельный ввод паролейcurses— Обработка терминала для дисплеев с ячейками символовcurses.textpad— Виджет ввода текста для программ cursescurses.ascii— Инструменты для символов ASCIIcurses.panel— Расширение стека панелей для cursesplatform— Доступ к идентификационным данным базовой платформыerrno— Стандартные символы системы errnoctypes— Библиотека внешних функций для Python
-
Выполнение задач в режиме конкурентности
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— Сопоставление имён файлов с MIME-типамиbase64— Кодировки данных Base16, Base32, Base64, Base85binhex— Кодирование и декодирование файлов binhex4binascii— Преобразование между двоичным и ASCII форматамиquopri— Кодирование и декодирование MIME-данных с цитируемыми переносами
-
Инструменты для обработки структурированных разметки
html— Поддержка языка разметки HyperTexthtml.parser— Простой парсер HTML и XHTMLhtml.entities— Определения общих сущностей HTML- Модули обработки XML
xml.etree.ElementTree— API ElementTree для XMLxml.dom— API Document Object Modelxml.dom.minidom— Минимальная реализация DOMxml.dom.pulldom— Поддержка построения частичных деревьев DOMxml.sax— Поддержка SAX2 парсеровxml.sax.handler— Базовые классы для обработчиков SAXxml.sax.saxutils— Утилиты SAXxml.sax.xmlreader— Интерфейс для XML парсеровxml.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— Модули XMLRPC-сервера и клиентаxmlrpc.client— Доступ к клиенту XML-RPCxmlrpc.server— Базовые XML-RPC серверыipaddress— Библиотека для работы с IPv4/IPv6
- Мультимедийные сервисы
- Локализация
- Программные фреймворки
-
Графические пользовательские интерфейсы с Tk
tkinter— Интерфейс Python для Tcl/Tktkinter.colorchooser— Диалог выбора цветаtkinter.font— Обёртка шрифтов Tkinter- Диалоги Tkinter
tkinter.messagebox— Диалоговые окна сообщений Tkintertkinter.scrolledtext— Виджет Scrolled Texttkinter.dnd— Поддержка перетаскиванияtkinter.ttk— Тематизированные виджеты Tktkinter.tix— Расширенные виджеты для Tk- IDLE
-
Инструменты разработки
typing— Поддержка подсказок типовpydoc— Генератор документации и система онлайн-помощи- Режим разработки Python
- Эффекты режима разработки Python
- Пример ResourceWarning
- Пример ошибки "bad file descriptor"
doctest— Тестирование интерактивных примеров Pythonunittest— Фреймворк для модульного тестированияunittest.mock— Библиотека мокирования объектовunittest.mock— начало работы- 2to3 — Автоматическое преобразование кода Python 2 в 3
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— Параметры и функции, специфичные для системыsysconfig— Предоставление доступа к конфигурационной информации Pythonbuiltins— Встроенные объекты__main__— Среда кода верхнего уровняwarnings— Управление предупреждениямиdataclasses— Классы данныхcontextlib— Утилиты для контекстов сwith-выражениямиabc— Абстрактные базовые классыatexit— Обработчики завершенияtraceback— Вывод или получение трассировки стека__future__— Определения будущих операторовgc— Интерфейс сборщика мусораinspect— Инспектирование живых объектовsite— Обработчик конфигурации, специфичный для сайта
- Пользовательские интерпретаторы Python
- Импорт модулей
-
Службы языка Python
ast— Абстрактные синтаксические деревьяsymtable— Доступ к таблицам символов компилятораtoken— Константы, используемые с деревьями разбора Pythonkeyword— Проверка на ключевые слова Pythontokenize— Токенизатор для исходного кода Pythontabnanny— Обнаружение неоднозначного отступаpyclbr— Поддержка обозревателя модулей Pythonpy_compile— Компиляция исходных файлов Pythoncompileall— Байткодовая компиляция Python-библиотекdis— Дизссемблер для байткода Pythonpickletools— Инструменты для разработчиков pickle
- Службы, специфичные для MS Windows
-
Службы, специфичные для Unix
posix— Наиболее распространённые системные вызовы POSIXpwd— База данных паролейgrp— База данных группtermios— Управление терминалом в стиле POSIXtty— Функции управления терминаломpty— Утилиты для псевдотерминаловfcntl— Системные вызовыfcntlиioctlresource— Информация об использовании ресурсовsyslog— Процедуры Unix-библиотеки syslog
-
Устаревшие модули
aifc— Чтение и запись файлов AIFF и AIFCasynchat— Обработчик асинхронных команд/ответов сокетаasyncore— Обработчик асинхронных сокетовaudioop— Обработка аудиоданных в сыром видеcgi— Поддержка Common Gateway Interfacecgitb— Менеджер трассировки для CGI-скриптовchunk— Чтение IFF-фрагментированных данныхcrypt— Функция проверки паролей Uniximghdr— Определение типа изображенияimp— Доступ к внутренностям импортаmailcap— Обработка файлов mailcapmsilib— Чтение и запись файлов Microsoft Installernis— Интерфейс к NIS (Yellow Pages) Sunnntplib— Клиент протокола NNTPoptparse— Парсер командной строкиossaudiodev— Доступ к устройствам аудио, совместимым с OSSpipes— Интерфейс к конвейям оболочкиsmtpd— SMTP-серверsndhdr— Определение типа звукового файлаspwd— База данных паролей shadowsunau— Чтение и запись файлов Sun AUtelnetlib— Клиент Telnetuu— Кодирование и декодирование файлов uuencodexdrlib— Кодирование и декодирование данных XDR
- Рекомендации по безопасности
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/library/index.html