mydata = ("abc", 12, [1, 2, 3]) output_file = open("mydata.dat", "w") p = pickle.Pickler(output_file) p.dump(mydata) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

mydata = ("abc", 12, [1, 2, 3]) output_file = open("mydata.dat", "w") p = pickle.Pickler(output_file) p.dump(mydata)

Поиск

import pickle, time

 

mydata = ("abc", 12, [1, 2, 3]) output_file = open("mydata.dat", "w") p = pickle.Pickler(output_file) p.dump(mydata)

 

output_file.close()

 

Восстановление:

 

import pickle

 

input_file = open("mydata.dat", "r") mydata = pickle.load(input_file) print mydata

 

input_file.close()

 

Модуль shelve

 

Для хранения объектов в родном дляPythonформате можно применять полку(shelve).По своему интерфейсу полка ничем не отличается от словаря.Следующий пример показывает,как использовать полку:

 

import shelve

# - данные (объект)

 

data = ("abc", 12)

 

key = "key"

# - ключ (строка)

 

filename = "polka.dat"

# - имя файла для хранения полки

 

d = shelve.open(filename)

# открытие полки

 

d[key] = data

#

сохранить данные под ключом key

 

data = d[key]

#

(удаляет старое значение, если оно было)

 

#

загрузить значение по ключу

 

len(d)

#

получить количество объектов на полке

 

d.sync()

#

запись изменений в БД на диске

 

del d[key]

#

удалить ключ и значение

 

flag = d.has_key(key)

#

проверка наличия ключа

 

lst = d.keys()

#

список ключей

 

d.close()

#

закрытие полки

 

 

Модули anydbm и gdbm



Для внешнего хранения данных можно использовать примитивные базы данных,содержащие пары ключ-значение.ВPythonимеется несколько модулей для работы с такими базами:bsddb,gdbm,dbhash и т.п.Модуль anydbm выбирает один из имеющихся хэшей,поэтому его можно применять для чтения ряда форматов(any-любой).

 

Доступ к хэшу изPythonмало отличается от доступа к словарю.Разница лишь в том,что хэш еще нужно открыть для создания,чтения или записи,а затем закрыть.Кроме того,при записи хэш блокируется,чтобы не испортить данные.

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 50; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.011 с.)