博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hello Python pickle
阅读量:6039 次
发布时间:2019-06-20

本文共 1176 字,大约阅读时间需要 3 分钟。

思路

  • pickle 是什么

  • Hello pickle!

  • pickle 能解析什么?

  • 自定义的类怎么使用 pickle

pickle

pickle 是 Python 里的序列化工具。

pickle can save and restore class instances transparently, however the class definition must be importable and live in the same module as when the object was stored.

Hello pickle

>>> import pickle>>> s = 'Hello pickle~'>>> sp = pickle.dumps(s)>>> "S'Hello pickle'\np0\n.">>> sp>>> pickle.loads(sp)

pickle 能解析什么

  • string ?

  • simple dict ?

  • datetime ?

>>> pickle.loads(pickle.dumps({'a': 'aaa', 'n': 123})){'a': 'aaa', 'n': 123}
>>> pickle.dumps(datetime.datetime.now())"cdatetime\ndatetime\np0\n(S'\\x07\\xe0\\x05\\x1f\\x0e:\\x15\\x03\\x17\\xde'\np1\ntp2\nRp3\n."
>>> pickle.loads("cdatetime\ndatetime\np0\n(S'\\x07\\xe0\\x05\\x1f\\x0e:\\x15\\x03\\x17\\xde'\np1\ntp2\nRp3\n.")datetime.datetime(2016, 5, 31, 14, 57, 51, 537279)

写一个 picklable 的类

发现如下的类是可以直接 pickle 的,且 unpickle 的地方只要引用过了 User Class 就可以成功 unpickle。

class User(object):    def __init__(self, id, name):        self.id = id        self.name = name
>>> u1 = User(1, 'a')>>> pickle.dumps(u1)"ccopy_reg\n_reconstructor\np0\n(c__main__\nUser\np1\nc__builtin__\nobject\np2\nNtp3\nRp4\n(dp5\nS'id'\np6\nI1\nsS'name'\np7\nS'a'\np8\nsb."

转载地址:http://yvghx.baihongyu.com/

你可能感兴趣的文章
C#+QQEmail自动发送邮件
查看>>
[Hadoop]MapReduce多输出
查看>>
Android Activity详解(一)
查看>>
快准车服完成3000万元A+轮融资,年底将开始B轮融资
查看>>
让我去健身的不是漂亮小姐姐,居然是贝叶斯统计!
查看>>
MySQL 数据约束
查看>>
我的友情链接
查看>>
SERVLET容器简介与JSP的关系
查看>>
《服务器SSH Public Key认证指南》-补充
查看>>
我的友情链接
查看>>
Java break continue return 的区别
查看>>
算法(Algorithms)第4版 练习 1.3.4
查看>>
jquery easyUI checkbox复选项获取并传后台
查看>>
浅析NopCommerce的多语言方案
查看>>
设计模式之简单工厂模式
查看>>
C++中变量的持续性、链接性和作用域详解
查看>>
2017 4月5日上午
查看>>
Google Chrome开发者工具
查看>>
第一阶段冲刺报告(一)
查看>>
使用crontab调度任务
查看>>