объект в файл
Модуль shelve Python позволяет сохранять объекты под определенный ключом (задается в виде строки) и определяется интерфейс доступа, сходный со словарями. Для сериализации объекта используется возможности модуля pickle, а чтобы записать получившуюся строку по ключу в файл , применяется модуль anydbm. Все эти действия модуль shelve производит незаметно для нас. Чтобы открыть файл с базой объектов, используется функция open(). Функция имеет следующий формат:
open(<Путь к файлу>[, flag="c"[, protocol=None[, writeback=False]]])
В необязательном параметре flag можно указать один из режимов открытия файла:
- r - Только для чтения
- w - чтение и запись
- c - чтение и запись (значение по умолчанию). Если файл не существует, он будет создан.
- n - чтение и запись. Если файл не существует, он будет создан. Если файл существует, он будет перезаписан.
Функция open() возвращает объект, с помощью которого производится дальнейшая работа с базой данных. Этот объект имеет следующие методы:
close() - закрывает файл с базой данных. В качестве примера создадим файл и сохран6им в нем список кортежа.
>>> import shelve
>>> db = shelve.open("file2.txt")
>>> db['language'] = ['ru', 'rn', 'ua']
>>> db['colors'] = ['red', 'blue', 'green']
>>> db['language'], db['colors']
(['ru', 'rn', 'ua'], ['red', 'blue', 'green'])
>>> db.close()
Далее...