Хотя «Руководство Python» описывает точный синтаксис и семантику языка Python, это справочное руководство по библиотеке описывает стандартную библиотеку, которая распространяется вместе с Python. Он также описывает некоторые из дополнительных компонентов, которые обычно включены в дистрибутивы Python.
Стандартная библиотека Python очень обширна и предлагает широкий спектр возможностей, о чем свидетельствует длинное оглавление, указанное ниже. Библиотека содержит встроенные модули (написанные на C), которые обеспечивают доступ к функциям системы, таким как файловый ввод-вывод, которые в противном случае были бы недоступны программистам Python, а также модули, написанные на Python, которые предоставляют стандартизированные решения для многих проблем, возникающих в повседневное программирование. Некоторые из этих модулей специально разработаны для поощрения и улучшения переносимости программ Python за счет абстрагирования специфики платформы в платформенно-нейтральные API.
Установщики Python для платформы Windows обычно включают всю стандартную библиотеку, а также часто включают множество дополнительных компонентов. Для Unix-подобных операционных систем Python обычно предоставляется в виде набора пакетов, поэтому для получения некоторых или всех дополнительных компонентов может потребоваться использование инструментов упаковки, поставляемых с операционной системой.
Содержание:
● Введение
○ Примечания по доступности
○ Константы, добавленные site модулем
● Встроенные типы
○ Проверка истинности
○ Булевы операции - and, or, not
○ Сравнения
○ Числовые типы - int, float, complex
○ Типы итераторов
○ Типы последовательностей - list, tuple, range
○ Тип текстовой последовательности - str
○ Двоичная последовательность типов - bytes, bytearray, memoryview
○ Типы наборов - set, frozenset
○ Типы картографии - dict
○ Типы диспетчера контекста
○ Другие встроенные типы
○ Особые атрибуты
● Встроенные исключения
○ Базовые классы
○ Конкретные исключения
○ Предупреждения
○ Иерархия исключений
● Работа с текстом
○ string - Общие строковые операции
○ re - Операции с регулярными выражениями
○ difflib - Помощники для вычисления дельт
○ textwrap - Перенос и заполнение текста
○ unicodedata - База данных Unicode
○ stringprep - Подготовка Интернет-строки
○ readline - Интерфейс чтения GNU
○ rlcompleter - Функция завершения для строки чтения GNU
● Работа с двоичными данными
○ struct - Интерпретировать байты как упакованные двоичные данные
○ codecs - Реестр кодеков и базовые классы
● Типы данных
○ datetime - Основные типы даты и времени
○ calendar - Общие функции, связанные с календарем
○ collections - Типы данных контейнера
○ collections.abc - Абстрактные базовые классы для контейнеров
○ heapq - Алгоритм очереди кучи
○ bisect - Алгоритм деления массива пополам
○ array - Эффективные массивы числовых значений
○ weakref - Слабые ссылки
○ types - Создание динамического типа и имена для встроенных типов
○ copy - Операции мелкого и глубокого копирования
○ pprint - Данные симпатичного принтера
○ reprlib- Альтернативная repr()реализация
○ enum - Поддержка перечислений
● Числовые и математические модули
○ numbers - Числовые абстрактные базовые классы
○ math - Математические функции
○ cmath - Математические функции для комплексных чисел
○ decimal - Десятичная арифметика с фиксированной и плавающей запятой
○ fractions - Рациональное число
○ random - Генерация псевдослучайных чисел
○ statistics - Функции математической статистики
● Модули функционального программирования
○ itertools - Функции, создающие итераторы для эффективного цикла
○ functools - Функции высшего порядка и операции с вызываемыми объектами
○ operator - Стандартные операторы как функции
● Доступ к файлам и директориям
○ pathlib - Пути к объектно-ориентированной файловой системе
○ os.path - Общие манипуляции с путями
○ fileinput - Перебирать строки из нескольких входных потоков
○ stat- Интерпретация stat()результатов
○ filecmp - Сравнение файлов и каталогов
○ tempfile - Создавать временные файлы и каталоги
○ glob - Расширение шаблона имени пути в стиле Unix
○ fnmatch - Сопоставление с образцом имени файла в Unix
○ linecache - Произвольный доступ к текстовым строкам
○ shutil - Высокоуровневые файловые операции
● Сохранение данных
○ pickle - Сериализация объекта Python
○ copyreg- Зарегистрируйте pickleфункции поддержки
○ shelve - Постоянство объекта Python
○ marshal - Внутренняя сериализация объекта Python
○ dbm - Интерфейсы к «базам данных» Unix
○ sqlite3 - Интерфейс DB-API 2.0 для баз данных SQLite
● Сжатие и архивирование данных
○ zlib- Сжатие совместимо с gzip
○ gzip- Поддержка файлов gzip
○ bz2- Поддержка сжатия bzip2
○ lzma - Сжатие с использованием алгоритма LZMA
○ zipfile - Работа с ZIP архивами
○ tarfile - Чтение и запись файлов tar-архива
● Форматы файлов
○ csv - Чтение и запись файлов CSV
○ configparser - Парсер файла конфигурации
○ netrc - обработка файлов netrc
○ xdrlib - Кодировать и декодировать данные XDR
○ plistlib- Создание и анализ .plistфайлов Mac OS X
● Работа с криптографией
○ hashlib - Безопасные хэши и дайджесты сообщений
○ hmac - Ключевое хеширование для аутентификации сообщений
○ secrets - Создавайте безопасные случайные числа для управления секретами
● Модули для взаимодействия с операционной системой
○ os - Разные интерфейсы операционной системы
○ io - Основные инструменты для работы с потоками
○ time - Доступ по времени и преобразования
○ argparse - Парсер для параметров командной строки, аргументов и подкоманд
○ getopt - Парсер в стиле C для параметров командной строки
○ logging - Средство ведения журнала для Python
○ logging.config - Конфигурация журнала
○ logging.handlers - Обработчики журналов
○ getpass - Портативный ввод пароля
○ curses - Терминальная обработка дисплеев символьных ячеек
○ curses.textpad - Виджет ввода текста для программ curses
○ curses.ascii - Утилиты для символов ASCII
○ curses.panel - Расширение стека панелей для проклятий
○ platform - Доступ к идентифицирующим данным базовой платформы
○ errno - Стандартные системные символы errno
○ ctypes - Библиотека сторонних функций для Python
● Параллельное выполнение
○ threading - Потоковый параллелизм
○ multiprocessing - Параллелизм на основе процессов
○ multiprocessing.shared_memory - Предоставляет общую память для прямого доступа между процессами
○ concurrentпакет
○ concurrent.futures - Запуск параллельных задач
○ subprocess - Управление подпроцессом
○ sched - Планировщик мероприятий
○ queue - Синхронизированный класс очереди
○ _thread - API низкоуровневой обработки потоков
○ _dummy_thread- Прямая замена _threadмодуля
○ dummy_threading- Прямая замена threadingмодуля
● contextvars - Переменные контекста
○ Переменные контекста
○ Ручное управление контекстом
○ поддержка asyncio
● Сеть и межпроцессное взаимодействие
○ asyncio - Асинхронный ввод / вывод
○ socket - Сетевой интерфейс низкого уровня
○ ssl - Обертка TLS / SSL для объектов сокета
○ select - Ожидание завершения ввода / вывода
○ selectors - Мультиплексирование ввода / вывода высокого уровня
○ asyncore - Асинхронный обработчик сокетов
○ asynchat - Обработчик команд / ответов асинхронного сокета
○ signal - Установить обработчики для асинхронных событий
○ mmap - Поддержка файлов с отображением памяти
● Работа с данными в интернете
○ email - Пакет обработки электронной почты и MIME
○ json - Кодировщик и декодер JSON
○ mailcap - Обработка файлов Mailcap
○ mailbox - Управляйте почтовыми ящиками в различных форматах
○ mimetypes - Сопоставьте имена файлов с типами MIME
○ base64 - Кодировки данных Base16, Base32, Base64, Base85
○ binhex - Кодирование и декодирование файлов binhex4
○ binascii - Преобразование между двоичным кодом и ASCII
○ quopri - Кодировать и декодировать данные печати в кавычках MIME
○ uu - Кодировать и декодировать файлы uuencode
● Инструменты обработки структурированной разметки
○ html - Поддержка языка разметки гипертекста
○ html.parser - Простой парсер HTML и XHTML
○ html.entities - Определения общих сущностей HTML
○ Модули обработки XML
○ xml.etree.ElementTree - XML API ElementTree
○ xml.dom - API объектной модели документа
○ xml.dom.minidom - Минимальная реализация DOM
○ xml.dom.pulldom - Поддержка построения частичных деревьев DOM
○ xml.sax - Поддержка парсеров SAX2
○ xml.sax.handler - Базовые классы для обработчиков SAX
○ xml.sax.saxutils - Утилиты SAX
○ xml.sax.xmlreader - Интерфейс для парсеров XML
○ xml.parsers.expat - Быстрый парсинг XML с помощью Expat
● Интернет-протоколы и поддержка
○ webbrowser - Удобный контроллер веб-браузера
○ cgi - Поддержка общего интерфейса шлюза
○ cgitb - Менеджер трассировки для скриптов CGI
○ wsgiref - Утилиты WSGI и эталонная реализация
○ urllib - Модули обработки URL
○ urllib.request - Расширяемая библиотека для открытия URL-адресов
○ urllib.response - Классы ответа, используемые urllib
○ urllib.parse - Разбирать URL-адреса на компоненты
○ urllib.error - Классы исключений, создаваемые urllib.request
○ urllib.robotparser - Парсер для robots.txt
○ http - HTTP-модули
○ http.client - Клиент протокола HTTP
○ ftplib - Клиент протокола FTP
○ poplib - Клиент протокола POP3
○ imaplib - Клиент протокола IMAP4
○ nntplib - Клиент протокола NNTP
○ smtplib - Клиент протокола SMTP
○ smtpd - SMTP-сервер
○ telnetlib - Telnet-клиент
○ uuid- Объекты UUID согласно RFC 4122
○ socketserver - Фреймворк для сетевых серверов
○ http.server - HTTP-серверы
○ http.cookies - Управление состоянием HTTP
○ http.cookiejar - Обработка файлов cookie для HTTP-клиентов
○ xmlrpc - Серверные и клиентские модули XMLRPC
○ xmlrpc.client - клиентский доступ XML-RPC
○ xmlrpc.server - Базовые серверы XML-RPC
○ ipaddress - Библиотека управления IPv4 / IPv6
● Работа с мультимедиа
○ audioop - Манипулировать необработанными аудиоданными
○ aifc - Чтение и запись файлов AIFF и AIFC
○ sunau - Чтение и запись файлов Sun AU
○ wave - Чтение и запись файлов WAV
○ chunk - Чтение фрагментированных данных IFF
○ colorsys - Преобразования между цветовыми системами
○ imghdr - Определить тип изображения
○ sndhdr - Определить тип звукового файла
○ ossaudiodev - Доступ к аудиоустройствам, совместимым с OSS
● Язык и локализация
○ gettext - Услуги многоязычной интернационализации
○ locale - Услуги интернационализации
● Программные рамки
○ turtle - Черепаха графика
○ cmd - Поддержка строчно-ориентированных интерпретаторов команд
○ shlex - Простой лексический анализ
● Графические пользовательские интерфейсы с Tk
○ tkinter - Интерфейс Python для Tcl / Tk
○ tkinter.ttk - Тематические виджеты Tk
○ tkinter.tix - Расширение виджетов для Tk
○ tkinter.scrolledtext - Виджет с прокруткой текста
○ IDLE
○ Другие пакеты графического интерфейса пользователя
● Инструменты разработки
○ typing - Поддержка подсказок типа
○ pydoc - Генератор документации и онлайн-справочная система
○ doctest - Протестируйте интерактивные примеры Python
○ unittest - Фреймворк для модульного тестирования
○ unittest.mock - библиотека макетов объектов
○ unittest.mock - начиная
○ 2to3 - автоматический перевод кода Python 2 в 3
○ test - Пакет регрессионных тестов для Python
○ test.support - Утилиты для набора тестов Python
○ test.support.script_helper - Утилиты для выполнения тестов Python
● Отладка и профилирование
○ Таблица событий аудита
○ bdb - Фреймворк отладчика
○ faulthandler - Выгрузить трассировку Python
○ pdb - Отладчик Python
○ Профилировщики Python
○ timeit - Измеряйте время выполнения небольших фрагментов кода
○ trace - Отслеживание или отслеживание выполнения инструкции Python
○ tracemalloc - Отслеживание распределения памяти
● Упаковка и распространение программного обеспечения
○ distutils - Сборка и установка модулей Python
○ ensurepip- Загрузка pipустановщика
○ venv - Создание виртуальных сред
○ zipapp - Управление исполняемыми zip-архивами Python
● Службы выполнения Python
○ sys - Системные параметры и функции
○ sysconfig - Обеспечить доступ к информации о конфигурации Python
○ builtins - Встроенные объекты
○ __main__ - Среда сценариев верхнего уровня
○ warnings - Контроль предупреждения
○ dataclasses - Классы данных
○ contextlib- Утилиты для withконтекстов операторов
○ abc - Абстрактные базовые классы
○ atexit - Обработчики выхода
○ traceback - Распечатать или получить трассировку стека
○ __future__ - Определения будущих заявлений
○ gc - Интерфейс сборщика мусора
○ inspect - Осматривать живые объекты
○ site - Хук конфигурации для конкретного сайта
● Пользовательские интерпретаторы Python
○ code - Базовые классы переводчика
○ codeop - Скомпилировать код Python
● Импорт модулей
○ zipimport - Импорт модулей из Zip архивов
○ pkgutil - Утилита расширения пакета
○ modulefinder - Найти модули, используемые скриптом
○ runpy - Поиск и выполнение модулей Python
○ importlib - Реализация import
○ Использование importlib.metadata
● Языковые службы Python
○ parser - Доступ к деревьям синтаксического анализа Python
○ ast - Абстрактные синтаксические деревья
○ symtable - Доступ к таблицам символов компилятора
○ symbol - Константы, используемые с деревьями синтаксического анализа Python
○ token - Константы, используемые с деревьями синтаксического анализа Python
○ keyword - Тестирование ключевых слов Python
○ tokenize - Токенизатор для исходного кода Python
○ tabnanny - Обнаружение неоднозначного отступа
○ pyclbr - Поддержка браузера модуля Python
○ py_compile - Скомпилировать исходные файлы Python
○ compileall - Библиотеки Python с байтовой компиляцией
○ dis - Дизассемблер для байт-кода Python
○ pickletools - Инструменты для разработчиков рассола
● Разные услуги
○ formatter - Общее форматирование вывода
● Специальные службы MS Windows
○ msilib - Чтение и запись файлов установщика Microsoft
○ msvcrt - Полезные подпрограммы из среды выполнения MS VC ++
○ winreg - Доступ к реестру Windows
○ winsound - Звуковой интерфейс для Windows
● Специальные службы Unix
○ posix - Наиболее распространенные системные вызовы POSIX
○ pwd - База паролей
○ spwd - База данных теневых паролей
○ grp - База данных группы
○ crypt - Функция проверки паролей Unix
○ termios - Управление tty в стиле POSIX
○ tty - Функции управления терминалом
○ pty - Псевдотерминальные утилиты
○ fcntl- В fcntlи ioctlсистемные вызовы
○ pipes - Интерфейс с оболочкой трубопроводов
○ resource - Информация об использовании ресурсов
○ nis - Интерфейс к Sun's NIS (Желтые страницы)
○ syslog - Подпрограммы библиотеки системного журнала Unix
● Замененные модули
○ optparse - Парсер для параметров командной строки
○ imp- Доступ к внутренним компонентам импорта
● Недокументированные модули
○ Специфичные для платформы модули
Заключение
Пост создан для тг-канала @coolcoders