Стандартная библиотека Python¶
В то время как Справочник по языку Python описывает точный синтаксис и семантику языка Python, это справочное руководство по библиотеке описывает стандартную библиотеку, которая распространяется вместе с Python. В нем также описаны некоторые дополнительные компоненты, которые обычно включаются в дистрибутивы Python.
Стандартная библиотека Python очень обширна и предлагает широкий спектр возможностей, о чем свидетельствует длинное оглавление, приведенное ниже. Библиотека содержит встроенные модули (написанные на языке C), которые обеспечивают доступ к системной функциональности, такой как файловый ввод-вывод, которая в противном случае была бы недоступна программистам на Python, а также модули, написанные на Python, которые обеспечивают стандартизированные решения многих проблем, возникающих в повседневном программировании. Некоторые из этих модулей специально разработаны, чтобы стимулировать и улучшить переносимость программ на Python, абстрагируясь от специфики платформы в нейтральные для платформы API.
Инсталляторы Python для платформы Windows обычно включают в себя всю стандартную библиотеку, а также множество дополнительных компонентов. Для Unix-подобных операционных систем Python обычно поставляется в виде набора пакетов, поэтому для получения некоторых или всех дополнительных компонентов может потребоваться использование средств упаковки, поставляемых с операционной системой.
Помимо стандартной библиотеки, существует активная коллекция из сотен тысяч компонентов (от отдельных программ и модулей до пакетов и целых фреймворков для разработки приложений), доступная с Python Package Index.
- Введение
- Встроенные функции
- Встроенные константы
- Встроенные типы
- Проверка истинности ценности
- Булевы операции —
and
,or
,not
- Сравнения
- Числовые типы —
int
,float
,complex
- Булевский тип -
bool
- Типы итераторов
- Типы последовательностей —
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
— Парсер для опций, аргументов и подкоманд командной строки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, Base85binascii
— Преобразование между двоичным кодом и ASCIIquopri
— Кодирование и декодирование данных MIME с кавычками
- Средства обработки структурированной разметки
html
— Поддержка языка гипертекстовой разметкиhtml.parser
— Простой парсер HTML и XHTMLhtml.entities
— Определения общих сущностей HTML- Модули обработки XML
xml.etree.ElementTree
— ElementTree XML APIxml.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
— Модули обработки URLurllib.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
— Обработка куки для HTTP-клиентовxmlrpc
— Модули сервера и клиента XMLRPCxmlrpc.client
— Клиентский доступ к XML-RPCxmlrpc.server
— Базовые серверы XML-RPCipaddress
— Библиотека манипуляций с IPv4/IPv6
- Мультимедийные услуги
- Интернационализация
- Рамки программы
- Графические пользовательские интерфейсы с помощью Tk
tkinter
— Интерфейс Python для Tcl/Tktkinter.colorchooser
— Диалог выбора цветаtkinter.font
— Обертка для шрифтов Tkinter- Диалоги Tkinter
tkinter.messagebox
— Сообщения Tkinter подсказываютtkinter.scrolledtext
— Виджет прокрученного текстаtkinter.dnd
— Поддержка перетаскиванияtkinter.ttk
— Виджеты на тему Tk- IDLE
- Средства разработки
typing
— Поддержка подсказок типовpydoc
— Генератор документации и система интерактивной помощи- Режим разработки на Python
doctest
— Тестовые интерактивные примеры Pythonunittest
— Фреймворк для модульного тестированияunittest.mock
— Библиотека насмешливых объектовunittest.mock
— начало работы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
— Параметры и функции, специфичные для системыsys.monitoring
— Мониторинг событий выполненияsysconfig
— Предоставьте доступ к информации о конфигурации Pythonbuiltins
— Встроенные объекты__main__
— Среда кода верхнего уровняwarnings
— Контроль предупрежденийdataclasses
— Классы данныхcontextlib
— Утилиты для контекстовwith
-заявленийabc
— Абстрактные базовые классыatexit
— Обработчики выходаtraceback
— Вывести или получить обратную трассировку стека__future__
— Будущие определения утвержденийgc
— Интерфейс сборщика мусораinspect
— Осмотреть живые объектыsite
— Крючок конфигурации для конкретного сайта
- Пользовательские интерпретаторы Python
- Импорт модулей
zipimport
— Импорт модулей из Zip-архивовpkgutil
— Утилита для расширения пакетовmodulefinder
— Найти модули, используемые скриптомrunpy
— Нахождение и выполнение модулей Pythonimportlib
— Реализацияimport
importlib.resources
– Чтение, открытие и доступ к ресурсам пакетаimportlib.resources.abc
– Абстрактные базовые классы для ресурсовimportlib.metadata
– Доступ к метаданным пакета- Инициализация пути поиска модуля
sys.path
- Услуги по изучению языка Python
ast
— Абстрактные синтаксические деревьяsymtable
— Доступ к таблицам символов компилятораtoken
— Константы, используемые в деревьях разбора Pythonkeyword
— Тестирование ключевых слов Pythontokenize
— Токенизатор для источника Pythontabnanny
— Обнаружение неоднозначного отступаpyclbr
— Поддержка браузера модулей Pythonpy_compile
— Компиляция исходных файлов Pythoncompileall
— Байт-компиляция библиотек Pythondis
— Дизассемблер для байткода Pythonpickletools
— Инструменты для разработчиков маринованных огурцов
- Специальные службы MS Windows
- Услуги, специфичные для Unix
posix
— Наиболее распространенные системные вызовы POSIXpwd
— База данных паролейgrp
— База данных группыtermios
— Управление тити в стиле POSIXtty
— Функции управления терминаломpty
— Псевдотерминальные утилитыfcntl
— Системные вызовыfcntl
иioctl
resource
— Информация об использовании ресурсовsyslog
— Подпрограммы библиотеки Unix syslog
- Интерфейс командной строки (CLI) модулей
- Замененные модули
- Соображения безопасности