美文网首页python之路
使用pickle进行数据序列化

使用pickle进行数据序列化

作者: 非鱼2018 | 来源:发表于2019-12-19 22:01 被阅读0次

pickle可以进行数据序列化。即数据对象之前是什么类型,将它原封不动的保存起来,load之后还是之前类型

import pickle
data1=[1,2,3,4]
#数据序列化
with open('data1.dat','wb') as f:
    pickle.dump(data1,f)
#反序列化
with open('data1.dat','rb') as f:
    data1=pickle.load(f)
print(data1)
print(type(data1))
[1, 2, 3, 4]
<class 'list'>
import glob
glob.glob('*.dat')
['data1.dat']
#使用压缩
import gzip
import pickle
data1=[1,2,3,4]
f=gzip.open('data2.dat','wb')
pickle.dump(data1,f,pickle.HIGHEST_PROTOCOL)
with gzip.open('data2.dat','rb') as f:
    data=pickle.load(f)
print(data)

[1, 2, 3, 4]
#字典
def tochr(val):
    result={}
    result[val]=chr(val)
    with open('data3.pickle','ab') as f:
        pickle.dump(result,file=f)
        
for i in [65,97]:
    tochr(i)  

with open('data3.pickle','rb') as f:
    data=pickle.load(f)
print(data)
{97: 'a'}
#注意,因为上面例子dump了两次,所以,load时候只load了最后1次dump的数据
#字典
def tochr(val):
    result={}
    result[val]=chr(val)
    with open('data4.pickle','ab') as f:
        pickle.dump(result,file=f)
        
for i in [65,97]:
    tochr(i)  

with open('data4.pickle','rb') as f:
    print(pickle.load(f))
    print(pickle.load(f))
{65: 'A'}
{97: 'a'}
#一次性读取
def tochr(val):
    result={}
    result[val]=chr(val)
    with open('data4.pickle','ab') as f:
        pickle.dump(result,file=f)
        
for i in [65,97,86]:
    tochr(i)  

f=open('data4.pickle','rb')
data2={}
while True:
    try:
        
        data=pickle.load(f)
        data2.update(data)
    except EOFError:
        break
print(data2)
{65: 'A', 97: 'a', 86: 'V'}
#dump一次,load一次
#一次性读取
result={}
def tochr(val):
    
    result[val]=chr(val)
    return result
    
for i in [65,97,86]:
    res=tochr(i)  
with open('data5.pickle','ab') as f:
    pickle.dump(res,file=f)
    
f=open('data5.pickle','rb')
data=pickle.load(f)
print(data)
{65: 'A', 97: 'a', 86: 'V'}

相关文章

  • Python3 pickle模块的使用详解

    pickle 模块 序列化 pickle模块特点 1、只能在python中使用,只支持python的基本数据类型。...

  • 序列化

    在 Python 中 pickle 模块实现对数据的序列化和反序列化。pickle 支持任何数据类型,包括内置数据...

  • 利用Python进行数据分析(九)

    二进制数据格式 pickle序列化 实现二进制存储最简单方法就是使用pickle序列化。pandas可以用fram...

  • 使用pickle进行数据序列化

    pickle可以进行数据序列化。即数据对象之前是什么类型,将它原封不动的保存起来,load之后还是之前类型

  • Python保存工作空间的数据(pickle your data

    [toc] 通用方法 pickle python的pickle模块实现了基本的数据序列和反序列化。通过pickle...

  • 文件操作

    打开、读/写文件 pickle python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块...

  • Flask中将页面数据缓存至redis

    核心就是利用pickle将数据序列化,以文字流的方式缓存至redis,要用的时候再取出来进行反序列化。

  • 序列化python对象

    pickle.dump 序列化至文件 pickle.load 从文件反序列化 pickle.dumps 序列化至字...

  • python学习笔记--pickle模块

    Python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行...

  • Python pickle的使用

    pickle简介 pickle模块是对Python对象结构进行二进制序列化和反序列化的协议实现,就是把Python...

网友评论

    本文标题:使用pickle进行数据序列化

    本文链接:https://www.haomeiwen.com/subject/ldyowctx.html