голосование
BASH
PHP
Javascript
HTML
Программы
Firebird
Майнинг
PostgreSQL
Хостинг
Железо
Ресурсы
GIT
SEO
Oracle
Python
Мобильные технологии
Ремонт
Mercurial
Заработок на сайте
Docker
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Как сериализовать данные при помощи 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])
просмотры: 1511, уровень: лёгкий уровень, рейтинг: 0, дата: 2017-08-23 07:41:33
проголосовать:

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






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