training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Как сериализовать данные при помощи pickle Python

Создано: 23 августа 2017Автор: Егор Астапов2019 просмотровСложность: легкий

Очень часто нужно сохранить данные куда-нибудь. Можно сохранить строки в файл и потом построчно считывать их. Это мы уже проходили. В питоне есть масса способов хранения данных не прибегая к серьёзным базам данных (MySQL, PostgreSql). При помощи модуля pickle можно сохранять данные в сериализованном виде.

Рассмотрим пример. Благодаря условию if not происходит происходит проверка созданного файла. Если файл не создан, то создаём файл и записываем в него данные. Если файл создан, то считываем из него данные. Благодаря модулю os можно проверить как путь до файла так и сам файл. Читайте подробно о модуле os в статье модуль os Python. os.path.isfile(path) - это проверка: является ли путь файлом. Функция pickle.dump(obj, file) - записывает сериализованный объект в файл.


#!/usr/bin/python3
import pickle, os

if not os.path.isfile('pickle.dat'):
    data = [0,1]
    # опрашиваем пользователя
    data[0] = input('enter topic:')
    data[1] = input('enter series:')
    
    file = open('pickle.dat', 'wb')
    # dump - преобразует объект в строку и записывает его в файл
    pickle.dump(data, file)
    file.close()
else:
    file = open('pickle.dat', 'rb')
    data = pickle.load(file)
    file.close()
    print('welcome back to:' + data[0] + data[1])

Комментарии

реклама