Документация по Python

Постоянство Python

В: Документация по Python

Введение

Примеры

Постоянство Python

Такие объекты, как числа, списки, словари, вложенные структуры и объекты экземпляров классов, находятся в памяти вашего компьютера и теряются, как только сценарий завершается.

Pickle хранит данные постоянно в отдельном файле.

маринованные представление объекта всегда является объект байт во всех случаях , поэтому необходимо открывать файлы в wb для хранения данных и rb для загрузки данных из рассола.

данные могут быть любого типа, например,

 data={'a':'some_value',
     'b':[9,4,7],
     'c':['some_str','another_str','spam','ham'],
     'd':{'key':'nested_dictionary'},
     } 

 

Хранить данные

 import pickle
file=open('filename','wb')  #file object in binary write mode
pickle.dump(data,file)      #dump the data in the file object
file.close()                #close the file to write into the file

 

Загрузить данные

 import pickle
file=open('filename','rb')  #file object in binary read mode
data=pickle.load(file)      #load the data back
file.close()

>>>data
{'b': [9, 4, 7], 'a': 'some_value', 'd': {'key': 'nested_dictionary'},
 'c': ['some_str', 'another_str', 'spam', 'ham']}

 

Следующие типы можно мариновать

  1. Нет, правда и ложь
  2. целые числа, числа с плавающей точкой, комплексные числа
  3. строки, байты, байтовые массивы
  4. кортежи, списки, наборы и словари, содержащие только выбираемые объекты
  5. функции, определенные на верхнем уровне модуля (используя def, а не лямбду)
  6. встроенные функции, определенные на верхнем уровне модуля
  7. классы, которые определены на верхнем уровне модуля
  8. экземпляры таких классов, ДИКТ или результат вызова GetState ()

Функция утилиты для сохранения и загрузки

Сохранить данные в файл и из файла

 import pickle
def save(filename,object):
    file=open(filename,'wb')
    pickle.dump(object,file)
    file.close()

def load(filename):
    file=open(filename,'rb')
    object=pickle.load(file)
    file.close()
    return object


>>>list_object=[1,1,2,3,5,8,'a','e','i','o','u']
>>>save(list_file,list_object)
>>>new_list=load(list_file)
>>>new_list
[1, 1, 2, 3, 5, 8, 'a', 'e', 'i', 'o', 'u' 

Синтаксис

Параметры

Примечания

Еще от кодкамп
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.