Стандартная библиотека 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 - Типы контекстных менеджеров
- Типы аннотаций Type — Generic Alias, Union
- Другие встроенные типы
- Особые атрибуты
- Ограничение длины преобразования целочисленной строки
- Встроенные исключения
- Услуги по обработке текста
string— Распространенные операции со строкамиre— Операции с регулярными выражениямиdifflib— Помощники для вычисления дельтtextwrap— Перенос и заполнение текстаunicodedata— База данных в Юникодеstringprep— Подготовка интернет-строкиreadline— Интерфейс GNU readlinerlcompleter— Функция завершения для GNU readline
- Службы двоичных данных
- Типы данных
datetime— Основные типы даты и времениzoneinfo— Поддержка часового пояса IANAcalendar— Общие функции, связанные с календаремcollections— Типы данных контейнеровcollections.abc— Абстрактные базовые классы для контейнеровheapq— Алгоритм очереди кучиbisect— Алгоритм деления массива пополамarray— Эффективные массивы числовых значенийweakref— Слабые ссылкиtypes— Динамическое создание типов и имен для встроенных типовcopy— Операции мелкого и глубокого копированияpprint— Данные для принтера prettyreprlib— Альтернативная реализация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— Синтаксический анализатор в стиле C для параметров командной строкиlogging— Средство ведения журнала для Pythonlogging.config— Конфигурация ведения журналаlogging.handlers— Обработчики ведения журналаgetpass— Портативный ввод пароляcurses— Терминальная обработка для отображения символьных ячеекcurses.textpad— Виджет ввода текста для программ cursescurses.ascii— Утилиты для работы с символами ASCIIcurses.panel— Расширение стека панелей для проклятийplatform— Доступ к идентификационным данным базовой платформы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— Пакет для обработки электронной почты и MIME-сообщенийjson— Кодировщик и декодер JSONmailbox— Манипулирование почтовыми ящиками в различных форматахmimetypes— Сопоставление имен файлов с типами MIMEbase64— Кодировки данных Base16, Base32, Base64, Base85binascii— Преобразование между двоичным и ASCII-кодамиquopri— Кодирование и декодирование данных MIME в кавычках, пригодных для печати
- Инструменты обработки структурированной разметки
html— Поддержка языка гипертекстовой разметкиhtml.parser— Простой синтаксический анализатор HTML и XHTMLhtml.entities— Определения общих сущностей HTML- Модули обработки XML
xml.etree.ElementTree— XML-API 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— Модули обработки URL-адресовurllib.request— Расширяемая библиотека для открытия URL-адресовurllib.response— Классы ответов, используемые urlliburllib.parse— Разбирать URL-адреса на компонентыurllib.error— Классы исключений, создаваемые urllib.requesturllib.robotparser— Синтаксический анализатор для robots.txthttp— HTTP-модулиhttp.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-RPC-серверыipaddress— Библиотека манипуляций с IPv4/IPv6
- Мультимедийные сервисы
- Интернационализация
- Рамки программы
- Графические интерфейсы пользователя с Тз
tkinter— Интерфейс Python для Tcl/Tktkinter.colorchooser— Диалоговое окно выбора цветаtkinter.font— Оболочка шрифта Tkinter- Диалоговые окна Tkinter
tkinter.messagebox— Подсказки к сообщениям Tkintertkinter.scrolledtext— Виджет с прокручиваемым текстомtkinter.dnd— Поддержка перетаскиванияtkinter.ttk— Тематические виджеты Tktkinter.tix— Расширение виджетов для Tk- праздный
- Инструменты разработки
typing— Поддержка подсказок по типу текстаpydoc— Генератор документации и интерактивная справочная система- Режим разработки на Python
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— Утилиты для тестирования операционной системыtest.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
- Импорт модулей
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
posix— Наиболее распространенные системные вызовы POSIXpwd— База данных паролейgrp— База данных группыtermios— Управление tty в стиле POSIXtty— Функции терминального управленияpty— Псевдотерминальные утилитыfcntl— Системные вызовыfcntlиioctlresource— Информация об использовании ресурсовsyslog— Библиотечные процедуры системного журнала Unix
- Модули интерфейса командной строки (CLI)
- Замененные модули
aifc— Чтение и запись файлов AIFF и AIFCasynchat— Обработчик команды/ответа асинхронного сокетаasyncore— Обработчик асинхронных сокетовaudioop— Манипулирование необработанными аудиоданнымиcgi— Поддержка интерфейса общего шлюзаcgitb— Менеджер обратной трассировки для CGI-скриптовchunk— Чтение фрагментированных данных IFFcrypt— Функция для проверки паролей Uniximghdr— Определите тип изображенияimp— Получите доступ к import внутренним компонентамmailcap— Обработка файлов Mailcapmsilib— Чтение и запись файлов установщика Microsoftnis— Интерфейс к НИС Sun (Желтые страницы)nntplib— Клиент протокола NNTPoptparse— Анализатор параметров командной строкиossaudiodev— Доступ к аудиоустройствам, совместимым с OSSpipes— Интерфейс к трубопроводам shellsmtpd— SMTP-серверsndhdr— Определите тип звукового файлаspwd— База данных теневых паролейsunau— Чтение и запись файлов Sun AUtelnetlib— Клиент Telnetuu— Кодирование и декодирование файлов uuencodexdrlib— Кодирование и декодирование данных XDR
- Соображения безопасности