Стандартная библиотека Python
Богатая стандартная библиотека является одной из привлекательных сторон языка программирования Python. Здесь имеются средства для работы со многими сетевыми протоколами и форматами интернета, например, модули для написания HTTP-серверов и клиентов, для разбора и создания почтовых сообщений, для работы с XML и т. п. Набор модулей для работы с операционной системой позволяет писать кросс-платформенные приложения. Существуют модули для работы с регулярными выражениями, текстовыми кодировками, мультимедийными форматами, криптографическими протоколами, архивами, сериализации данных, поддержка юнит-тестирования и др.
Сервисы периода исполнения
Взаимодействие с ОС
Обработка текстов
Форматы данных
CSV
Для чтения и записи файла в формате CSV предназначен модуль csv
.
Этот модуль предназначен для работы с различными диалектами: разделитель запятая, разделитель точка с запятой, разделитель табуляция (Excel).
Простейший пример:
import csv
reader = csv.reader(open("some.csv", "rb"))
for row in reader:
print row
Модуль позволяет настроить формат читаемых и записываемых файлов. Например можно выставить разделить полей :
, разделитель строк — |
, символ цитирования — `
(вместо "
по умолчанию).
import csv
writer = csv.writer(open("some.csv", "wb"), delimiter=':', quoting=csv.QUOTE_MINIMAL, \
quotechar='`', lineterminator='|')
writer.writerows([ [1997, "Ford", "E350", "ac, abs, moon", "3000.00"],
[1999, "Chevy", "Venture `Extended Edition`", "", "4900.00"],
[1996, "Jeep", "Grand Cherokee", "air, moon roof, loaded MUST SELL!", "4799.00"] ])
Конфигурационные файлы
Для чения и записи конфигурационных файлов предназначен модуль ConfigParser
. Этот модуль написан на чистом Python и, следовательно, платформонезависим. Синтаксис конфигурационных файлов похож на тот, что используется в INI-файлах Windows. Например:
[My Section] foodir=%(dir)s/whatever dir=frob version: 1.0
В качестве разделителя ключа и значения может использоваться =
или :
. При использовании классов ConfigParser
и SafeConfigParser
происходит замена строки %(<ключ>)s
на значение параметра <ключ>
. В указанном примере значение foodir
будет равно frob/whatever
.
Криптографические модули
В силу различных причин (в том числе политических — во многих странах запрещена разработка и распространение криптографического программного обеспечения без разрешения соответствующих государственных структур) поддержка криптографии в стандартной библиотеке Python весьма ограниченна и сводится к хеш-функциям .
В версии 2.5 структура крипто библиотеки была унифицирована — все хеш функции собраны в модуль hashlib
и удалены бесполезные модули некриптостойкого шифрования.
Ранние модули md5,hmac,sha
объявлены устаревшими и будут удалены в одном из последующих релизов.
Как и в некоторых других случаях ( DB-API, Python Web Server Gateway Interface) при невозможности (или нецелесообразности) включить полноценную поддержку технологии в стандартную библиотеку были приняты стандарты на интерфейсы, предоставляемые внешними библиотеками - API для хеш-функций, API для блочных шифров. Однако далеко не все библиотеки соответствуют этим требованиям (либо в силу старости — созданы до написания CryptoAPI, либо из-за того что являются автоматически сгенерированными обертками поверх соответствующих C библиотек).
Использовать Crypto API — совместимые библиотеки достаточно просто:
>>> import hashlib >>> m = hashlib.new('md5') # создаем новый хеширующий объект с MD5 функцией >>> m = hashlib.md5() # либо так >>> m.update("test data") # добавляем данные >>> m.digest() '\xebs:\x00\xc0\xc9\xd36\xe6V\x91\xa3z\xb5B\x93' >>> m.hexdigest() 'eb733a00c0c9d336e65691a37ab54293'
hashlib обеспечивает поддержку следующих хеш-функций :
MD5,SHA-1,SHA224,SHA256,SHA384,SHA512
(в сборках Python со включенной OpenSSL библиотекой этот список шире).
Следует отметить что одно только присутствие алгоритма в стандартной библиотеке не
гарантирует его криптографическую надежность. Так алгоритмы MD5,SHA-1
по состоянию на начало 2007 года не являются криптостойкими
(см. соответствующие wiki страницы).
Для шифрования приходится использовать сторонние библиотеки, например
pycrypto(соответствует Crypto API) или
M2Crypto
(не соответствует Crypto API). Достаточно полный список представлен в
pypi.
Сетевые протоколы
Поддержка разработки для WWW
Простые базы данных
Поддержка разработки программного обеспечения
Многопоточные вычисления
Графический интерфейс
Интроспекция
Платформно-зависимые модули
SQL | Это незавершённая статья о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....