Стандартная библиотека Python
Хотя «Руководство 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