Стандартная библиотека 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 - Типы контекстных менеджеров
- Типы аннотаций типов — Generic Alias, Union
- Другие встроенные типы
- Специальные атрибуты
- Предельная длина целых чисел при преобразовании из строки
- Встроенные исключения
-
Службы обработки текста
string— Общие операции со строками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— Математические функции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— Утилиты для ASCII-символовcurses.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— Сопоставление имён файлов с типами MIMEbase64— Кодировки данных Base16, Base32, Base64, Base85binascii— Преобразование между двоичным и ASCIIquopri— Кодирование и декодирование MIME-данных с использованием quoted-printable
-
Инструменты обработки структурированной разметки
html— Поддержка языка разметки гипертекста HTMLhtml.parser— Простой парсер HTML и XHTMLhtml.entities— Определения общих сущностей HTML- Модули обработки XML
xml.etree.ElementTree— API ElementTree для XMLxml.dom— API Document Object Modelxml.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— Модули XMLRPC-сервера и -клиентаxmlrpc.client— Доступ к XML-RPC-клиентуxmlrpc.server— Базовые XML-RPC-серверыipaddress— Библиотека для работы с IPv4/IPv6
- Мультимедийные сервисы
- Локализация
- Фреймворки программ
-
Графические пользовательские интерфейсы с Tk
tkinter— Интерфейс Python к Tcl/Tktkinter.colorchooser— Диалог выбора цветаtkinter.font— Обёртка шрифтов Tkinter- Диалоги Tkinter
tkinter.messagebox— Диалоговые окна сообщений Tkintertkinter.scrolledtext— Виджет скроллируемого текстаtkinter.dnd— Поддержка перетаскиванияtkinter.ttk— Тематические виджеты Tktkinter.tix— Дополнительные виджеты для Tk- IDLE
-
Средства разработки
typing— Поддержка подсказок типовpydoc— Генератор документации и система справки в сети- Режим разработки Python
doctest— Тестирование интерактивных примеров Pythonunittest— Фреймворк для модульного тестированияunittest.mock— Библиотека объектов mockunittest.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— Утилиты для тестов предупреждений
- Отладка и профилирование
- Упаковки и распространение программного обеспечения
-
Сервисы выполнения Python
sys— Параметры и функции, специфичные для системыsysconfig— Предоставление доступа к конфигурационной информации Pythonbuiltins— Встроенные объекты__main__— Среда кода верхнего уровняwarnings— Управление предупреждениямиdataclasses— Классы данныхcontextlib— Утилиты для контекстов с операторамиwithabc— Абстрактные базовые классыatexit— Обработчики завершенияtraceback— Вывод или получение трассировки стека__future__— Определения операторов будущегоgc— Интерфейс сборщика мусораinspect— Инспекция живых объектовsite— Специфичный для сайта крючок конфигурации
- Пользовательские интерпретаторы Python
-
Импорт модулей
zipimport— Импорт модулей из архивов Zippkgutil— Утилита расширения пакетов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
posix— Наиболее распространённые системные вызовы POSIXpwd— База данных паролейgrp— База данных группtermios— Управление терминалом в стиле POSIXtty— Функции управления терминаломpty— Утилиты псевдотерминаловfcntl— Системные вызовыfcntlиioctlresource— Информация об использовании ресурсовsyslog— Процедуры библиотеки syslog Unix
- Командная строка модулей (CLI)
-
Устаревшие модули
aifc— Чтение и запись файлов AIFF и AIFCasynchat— Обработчик команд/ответов асинхронных сокетовasyncore— Обработчик асинхронных сокетовaudioop— Манипулирование сырыми аудиоданнымиcgi— Поддержка Common Gateway Interfacecgitb— Управляющий трассировкой для скриптов CGIchunk— Чтение данных IFF с фрагментамиcrypt— Функция проверки паролей Uniximghdr— Определение типа изображенияimp— Доступ к внутренностям импортаmailcap— Обработка файлов mailcapmsilib— Чтение и запись файлов установщиков Microsoftnis— Интерфейс к 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.11/library/index.html