Стандартная библиотека 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 - Типы контекстного менеджера
- Типы аннотаций — 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— Данные красивого принтера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— Парсер в стиле C для опций командной строкиlogging— Средства протоколирования для 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— Сопоставление имен файлов с типами MIMEbase64— Кодировки данных Base16, Base32, Base64, Base85binhex— Кодирование и декодирование файлов binhex4binascii— Преобразование между двоичным кодом и ASCIIquopri— Кодирование и декодирование данных MIME с кавычками для печати
- Инструменты обработки структурированной разметки
html— Поддержка языка разметки гипертекстаhtml.parser— Простой парсер HTML и XHTMLhtml.entities— Определения общих сущностей HTML- Модули обработки XML
xml.etree.ElementTree— API ElementTree XMLxml.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-RPCipaddress— Библиотека манипуляций IPv4/IPv6
- Мультимедийные услуги
- Интернационализация
- Программные рамки
- Графические пользовательские интерфейсы с помощью Tk
tkinter— Интерфейс Python для Tcl/Tktkinter.colorchooser— Диалог выбора цветаtkinter.font— Обертка для шрифтов Tkinter- Диалоги Tkinter
tkinter.messagebox— подсказки сообщений Tkintertkinter.scrolledtext— Виджет прокрученного текстаtkinter.dnd— Поддержка перетаскиванияtkinter.ttk— Tk тематические виджетыtkinter.tix— Виджеты расширения для Tk- IDLE
- Инструменты разработки
typing— Поддержка подсказок типовpydoc— Генератор документации и система интерактивной помощи- Режим разработки Python
- Эффекты режима разработки Python
- Пример ResourceWarning
- Пример ошибки плохого дескриптора файла
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— Утилиты для os-тестов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
- Импорт модулей
- Услуги по изучению языка 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— Процедуры библиотеки Unix syslog
- Замененные модули
aifc— Чтение и запись файлов AIFF и AIFCasynchat— Обработчик команд/ответов асинхронного сокетаasyncore— Обработчик асинхронных сокетовaudioop— Манипулирование необработанными аудиоданнымиcgi— Поддержка интерфейса общего шлюзаcgitb— Менеджер трассировок для CGI-скриптовchunk— Чтение данных, разбитых на части IFFcrypt— Функция для проверки паролей Uniximghdr— Определить тип изображенияimp— Доступ к внутренним компонентам importmailcap— Работа с файлами Mailcapmsilib— Чтение и запись файлов Microsoft Installernis— Интерфейс к Sun’s NIS (Желтые страницы)nntplib— Клиент протокола NNTPoptparse— Парсер для опций командной строкиossaudiodev— Доступ к OSS-совместимым аудиоустройствамpipes— Интерфейс для конвейеров оболочкиsmtpd— SMTP-серверsndhdr— Определите тип звукового файлаspwd— Теневая база данных паролейsunau— Чтение и запись файлов Sun AUtelnetlib— Клиент Telnetuu— Кодирование и декодирование файлов uuencodexdrlib— Кодирование и декодирование данных XDR
- Соображения безопасности