Глава 11. Хранение данных
Глава 11. Хранение данных
Мы уже упоминали сжатие ZIP и сериализацию в разделе «Сериализация данных» главы 9, поэтому в этой главе нам осталось рассмотреть только базы данных.
Глава посвящена библиотекам Python, которые взаимодействуют с
Структурированные файлы
Структурированные файлы
Мы уже упоминали инструменты для JSON, XML и ZIP-файлов в главе 9, а также сериализацию и XDR, когда говорили о сериализации. Для анализа YAML мы рекомендуем PyYAML (http://pyyaml.org/wiki/PyYAML) (вы можете получить его с помощью команды pip install pyyaml). В стандартной библиотеке Python также имеются инструменты для работы с файлами CSV, *.netrc, используемыми некоторыми клиентами FTP, файлами *.plist, применяемыми в OS X, а также файлами, содержащими код на диалекте формата INI из Windows с помощью модуля configparser[117].
Существует также устойчивое хранилище, работающее по принципу «ключ-значение», доступное благодаря модулю shelve из стандартной библиотеки Python. Его бэкенд является наилучшим доступным вариантом менеджера базы данных (dbm — база данных, работающая по принципу «ключ-значение») для вашего компьютера[118]:
>>> import shelve
>>>
>>> with shelve.open('my_shelf') as s:
… ····s['d'] = {'key': 'value'}
…
>>> s = shelve.open('my_shelf', 'r')
>>> s['d']
{'key': 'value'}
Вы можете узнать, какой бэкенд используете, таким способом:
>>> import dbm
>>> dbm.whichdb('my_shelf')