Стандартная библиотека Python
В то время как Справочник по языку Python описывает точный синтаксис и семантику языка Python, этот справочник по стандартной библиотеке описывает стандартную библиотеку, которая распространяется с Python. Он также описывает некоторые из необязательных компонентов, которые обычно включаются в дистрибутивы Python.
Стандартная библиотека Python очень обширна, предлагая широкий спектр возможностей, как указано в длинном оглавлении, представленном ниже. Библиотека содержит встроенные модули (написанные на C), которые обеспечивают доступ к системным функциям, таким как ввод-вывод файлов, которые в противном случае были бы недоступны программистам Python, а также модули, написанные на Python, которые предоставляют стандартизированные решения для многих проблем, возникающих при повседневном программировании. Некоторые из этих модулей специально разработаны для поощрения и повышения переносимости программ Python, абстрагируя платформоспецифические аспекты в платформонезависимые API.
Инсталляторы Python для платформы Windows обычно включают всю стандартную библиотеку и часто также включают многие дополнительные компоненты. Для Unix-подобных операционных систем Python обычно предоставляется как набор пакетов, поэтому может потребоваться использовать инструменты для управления пакетами, предоставляемые операционной системой, чтобы получить некоторые или все необязательные компоненты.
Помимо стандартной библиотеки, существует растущая коллекция из нескольких тысяч компонентов (от отдельных программ и модулей до пакетов и целых фреймворков разработки приложений), доступных на Python Package Index.
- Введение
- Встроенные функции
- Встроенные константы
-
Встроенные типы
- Проверка истинности
- Булевы операции —
and,or,not - Сравнения
- Числовые типы —
int,float,complex - Типы итераторов
- Последовательные типы —
list,tuple,range - Последовательный тип текста —
str - Последовательные типы двоичных данных —
bytes,bytearray,memoryview - Типы множеств —
set,frozenset - Типы отображений —
dict - Типы менеджеров контекстов
- Тип обобщенного псевдонима
- Другие встроенные типы
- Специальные атрибуты
- Ограничение длины при преобразовании целых чисел в строки
- Встроенные исключения
-
Службы обработки текста
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, Base85binhex— Кодирование и декодирование файлов binhex4binascii— Преобразование между двоичным и 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— Поддержка 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— Серверы HTTPhttp.cookies— Управление состоянием HTTPhttp.cookiejar— Обработка куки для клиентов HTTPxmlrpc— Модули сервера и клиента 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— Тематизированные виджеты Tktkinter.tix— Дополнительные виджеты для Tk- IDLE
-
Инструменты разработки
typing— Поддержка типов подсказокpydoc— Генератор документации и система справки онлайн- Режим разработки Python
- Последствия режима разработки Python
- Пример ResourceWarning
- Пример ошибки "bad file descriptor"
doctest— Тестирование интерактивных примеров Pythonunittest— Фреймворк для модульного тестированияunittest.mock— Библиотека для создания mock-объектовunittest.mock— Начало работы- 2to3 — Автоматическое преобразование кода Python 2 в 3
test— Пакет регрессионных тестов для Pythontest.support— Утилиты для набора тестов Pythontest.support.socket_helper— Утилиты для тестов сокетовtest.support.script_helper— Утилиты для тестов выполнения Pythontest.support.bytecode_helper— Средства поддержки тестирования правильности генерации байткода
-
Отладка и профилирование
- Таблица событий аудита
bdb— Фреймворк отладчикаfaulthandler— Вывод трассировки Pythonpdb— Отладчик Python- Профилировщики Python
timeit— Измерение времени выполнения коротких фрагментов кодаtrace— Отслеживание или отладка выполнения операторов Pythontracemalloc— Отслеживание выделения памяти
- Упаковщики и распространение программного обеспечения
-
Службы выполнения Python
sys— Параметры и функции, специфичные для операционной системыsysconfig— Предоставление доступа к конфигурационной информации Pythonbuiltins— Встроенные объекты__main__— Среда сценария верхнего уровняwarnings— Управление предупреждениямиdataclasses— Классы данныхcontextlib— Утилиты для контекстов с операторамиwithabc— Абстрактные базовые классыatexit— Обработчики завершенияtraceback— Вывод или получение трассировки стека__future__— Определения будущих инструкцийgc— Интерфейс сборщика мусораinspect— Осмотр живых объектовsite— Скрипт конфигурации, специфичный для сайта
- Пользовательские интерпретаторы Python
- Импорт модулей
-
Службы языка Python
parser— Доступ к синтаксическим деревьям Pythonast— Абстрактные синтаксические деревьяsymtable— Доступ к таблицам символов компилятораsymbol— Константы, используемые с синтаксическими деревьями Pythontoken— Константы, используемые с синтаксическими деревьями Pythonkeyword— Проверка на ключевые слова Pythontokenize— Токенизатор для исходного кода Pythontabnanny— Обнаружение неоднозначного отступаpyclbr— Поддержка браузера модулей Pythonpy_compile— Компиляция исходных файлов Pythoncompileall— Байткодирование библиотек Pythondis— Дизassembler байткода Pythonpickletools— Инструменты для разработчиков pickle
- Разные службы
- Службы, специфичные для MS Windows
-
Службы, специфичные для Unix
posix— Наиболее распространённые системные вызовы POSIXpwd— База данных паролейgrp— База данных группtermios— Управление терминалом в стиле POSIXtty— Функции управления терминаломpty— Утилиты для псевдотерминаловfcntl— Системные вызовыfcntlиioctlresource— Информация об использовании ресурсовsyslog— Функции библиотеки syslog для Unix
-
Модули, которые больше не поддерживаются
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— База данных паролей с оттенениемsunau— Чтение и запись файлов Sun AUtelnetlib— Клиент Telnetuu— Кодирование и декодирование файлов uuencodexdrlib— Кодирование и декодирование данных XDR
- Рекомендации по безопасности
© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.9/library/index.html