голосование
PHP
jQuery
BASH
Firebird
HTML
Программы
Ресурсы
GIT
SEO
Oracle
Python
Хостинг
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

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

Очень часто нужно сохранить данные куда-нибудь. Можно сохранить строки в файл и потом построчно считывать их. Это мы уже проходили. В питоне есть масса способов хранения данных не прибегая к серьёзным базам данных (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])
просмотры: 302, уровень: лёгкий уровень, рейтинг: 0, дата: 2017-08-23 07:41:33
проголосовать:

Комментарии:






поиск
сайты друзей
банеры
Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://www.2domains.ru домен RU домен RU всего за 99 рублей
http://ping-admin.ru/index_5659.html мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP