Python — это один из самых популярных языков программирования для написания системных скриптов и программ. Это скриптовый язык, он очень простой для освоения и позволяет писать скрипты максимально быстро. И не только потому, что язык простой, а еще и из-за того, что для него написано множество различных библиотек и скриптов, которые вы можете использовать в своих проектах либо же просто скопировать тот или иной кусок кода в свою программу.
Не менее богата и стандартная библиотека языка. Здесь есть инструменты для решения различных задач, начиная от математических функций, и до работы с регулярными выражениями, сетью, сайтами и многим другим. В этой статье мы рассмотрим стандартные библиотеки python, которые вы можете использовать. Разберем их назначение и кратко возможности.
Стандартная библиотека Python
Эта статья не сможет охватить все модули python потому что их очень много. Поэтому мы поговорим про самые интересные и полезные. Дальше вы сможете понять на что способен этот язык. Список отсортирован по алфавиту.
- audioop — это библиотека для работы со звуком. Она содержит несколько полезных функций для обработки записей 8, 16, 24 или 32 бит. Модуль поддерживает различные кодировки. Есть поддержка конвертации форматов, настройки битов, и множество других возможностей.
- base64 — шифрование base64 стало очень популярным в последнее время. Эта библиотека позволяет шифровать бинарные данные в читаемые ASCII символы, а затем обратно раскодировать в бинарные данные. Можно кодировать не только последовательности байт, но и обычные строки.
- calendar — как следует из названия, этот модуль позволяет работать с календарем. Вы можете выводить календарь, так же как это делает утилита cal в Linux. По умолчанию, началом недели считается понедельник, но можно поменять настройки на воскресение. Вы можете просматривать информацию о днях недели, месяца, года, выводить списки и многое другое.
- cgi — несмотря на то, что лидером в плане серверного языка программирования является PHP, Python тоже поддерживает такую возможность. Модуль cgi позволяет интерпретатору обрабатывать скрипты по запросу веб-сервера и возвращать ему же результат обработки. С помощью модуля в скрипте мы можем получить переменные, переданные браузером с помощью GET или POST, а также влиять на отправляемые данные.
- configparser — это простая библиотека, которая позволяет разбирать содержимое простейших конфигурационных файлов формата ini. Такие файлы очень часто используются в Windows. Вы можете не только читать содержимое файлов, но и изменять его.
- csv — модуль, позволяющий работать с форматом файлов csv (Comma Separated Values). Этот формат очень популярен при импорте и экспорте из различных таблиц или баз данных. Модуль имеет два класса, reader и writer, которые позволяют читать и записывать данные в формат csv.
- curses — наверное, уже многие слышали про движок псевдографического интерфейса curses. Он позволяет довольно просто реализовать простой графический интерфейс в терминале. С помощью этого модуля такая функция появляется в Python.
- datetime — как и большинство языков высокого уровня, python позволяет работать с датой и временем. Эта библиотека реализует набор методов для получения информации, преобразования, изменения даты и времени. Можно преобразовать дату в строку или прочитать ее из строк различных форматов. Также можно выполнять арифметические операции с датами и временем.
- decimal — этот модуль содержит функции для быстрого преобразования чисел с плавающей точкой. Также содержит несколько дополнительных возможностей для встроенного типа float.
- difflib — эта библиотека содержит набор функций для сравнения различных последовательностей. Например, можно сравнивать файлы, строки, различную информацию в HTML и многое другое.
- email — python поддерживает обработку email сообщений на уровне языка. Модуль не реализует никаких методов для отправки сообщений через SMTP или NNTP, этим занимаются другие протоколы. Здесь есть функции для разбора структуры email сообщений, проверки списка почты, преобразования и много другого.
- gettext — этот модуль реализует функции локализации и интернационализации L10N для ваших программ на Python. Поддерживается стандартное API GNU gettext так и свое собственное API на основе классов. Все модули пишутся на вашем нативном языке, а затем к программе прикрепляется каталог для перевода на другие языки.
- gzip, zlib — библиотеки python для работы со сжатыми данными. Вы можете не только распаковывать и упаковывать файлы, но и работать со строками, а также использовать пароли.
- hashlib — этот модуль python предоставляет интерфейс для получения различных хэшей для данных. Поддерживаются такие алгоритмы: SHA1, SHA224, SHA256, SHA384, и SHA512, а также MD5.
- html, http — эти модули работают в одной и той же области. Модуль http позволяет работать с интернет ресурсами по протоколу HTTP, отправлять запросы GET/POST, принимать запросы, обрабатывать Cookie и фактически реализовать свой клиент или сервер на Python. Библиотека html, в свою очередь, позволяет выполнять разбор html страниц.
- io — это базовая библиотека, которая содержит основные функции для работы с потоками ввода/вывода. Поддерживаются различные виды потоков, текстовые, бинарные и RAW потоки. Каждый поток может иметь несколько атрибутов, это разрешения на только чтение, только запись и чтение запись.
- itertools — недавно операторы итераций начали появляться в PHP. Язык программирования Python тоже имеет средства для организации итераций, похожих на Haskell, APL и SML. Модуль использует эффективные методы работы с памятью, а также имеет некоторые дополнительные функции.
- json — библиотека python для работы с очень популярным сейчас форматом передачи данных — json. Есть функции как для разбора формата, так и для создания объектов для отправки.
- logging — модуль для логирования в программах Python. Библиотека реализует удобную систему логирования, которая используется в стандартных модулях. Ее преимущество в том, что вы можете отключить ведение лога в любой момент одной строчкой или изменить его подробность.
- match — библиотека содержит стандартные функции для работы с математикой. Вычисление корня, синусов, косинусов и другие подобные функции.
- os — одна из самых важных библиотек python. Она предназначена для взаимодействия с операционной системой. Через нее вы можете работать с файлами, получить информацию об интерфейсах операционной системы и другое.
- pathlib — позволяет работать с путями в файловой системе. Можно преобразовывать пути из одного типа в другой, выполнять с ними различные операции.
- random — модуль реализует генератор псевдо-случайных чисел. Он работает на основе генератора случайности вашей операционной системы.
- re — очень часто используемый модуль python, который содержит базовый набор функций для работы с регулярными выражениями синтаксиса perl. Есть методы для решения различных задач, таких как поиск, замена, редактирование, удаление и многое другое.
- socket — python поддерживает работу с сокетами напрямую. Вы можете без модуля http или url подключатся к любому системному или сетевому сокету и использовать его.
- sqlite — большинство программ в среде веб используют базу данных. Расширение sqlite позволяет вашей программе использовать высокопроизводительную базу данных, которая полностью хранится в одном файле, в папке с программой.
- ssl — библиотека, которая позволяет работать с сертификатами ssl, используется для получения html страниц по протоколу https.
- string — еще один часто используемый модуль, который содержит множество функций для работы со строками. Поддерживаются большинство функций, которые есть в других языках, например, слияние строк, удаление лишних символов, замена, поиск и так далее.
- threading — библиотека реализует поддержку многопоточности для python. Здесь содержатся методы для управления потоками и получения информации о них;
- time — по возможностях и назначению эта библиотека похожа на datetime. Только ее методы рассчитаны на работу с датой и временем. Здесь реализовано множество функций стандартной библиотеки Си.
- tkinter — это стандартные библиотеки python 3 для реализации графического интерфейса программ с помощью инструментария Tk GUI. Этот интерфейс будет работать как в Windows, так и в Linux системах.
- urllib и urllib2 — эти библиотеки python позволяют реализовать простой парсер или браузер на python. Вы можете в несколько строк получать и разбирать содержимое веб-страниц, работу с кукси, заголовками и другими вещами библиотека берет на себя.
- xml — библиотека, которая помогает анализировать структуры XML, а также добавлять в структуру новые теги, менять значения существующих.