Python常用内置模块之pickle模块
程序员文章站
2022-01-21 20:53:58
...
经常遇到在Python程序运行中得到了一些字符串、列表、字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据。python模块大全中的Pickle模块就派上用场了,它可以将对象转换为一种可以传输或存储的格式。pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。下面一起来看看Python常用内置模块之pickle模块吧。
pickle.dump(obj, file[, protocol]):序列化对象,并将结果数据流写入到文件对象中。参数protocol是序列化模式,默认值为0,表示以文本的形式序列化。protocol的值还可以是1或2,表示以二进制的形式序列化。
pickle.load(file):反序列化对象。将文件中的数据解析为一个Python对象。其中要注意的是,在load(file)的时候,要让python能够找到类的定义,否则会报错。下面就是代码示例:
#!/usr/bin/env python # coding:utf-8 import pickle dic = {"k1": 12, "k2": "Old_boy", "name": "风轻情淡"} # 注意:dump方法是以字节的方式写入 f1 = open("db", "wb") pickle.dump(dic, f1) f1.close() f2 = open("db", "rb") data = pickle.load(f2) # 结果为:<class 'dict'> {'name': '风轻情淡', 'k2': 'Old_boy', 'k1': 12} print(type(data), data) f2.close()
clear_memo():清空pickler的“备忘”。使用Pickler实例在序列化对象的时候,它会“记住”已经被序列化的对象引用,所以对同一对象多次调用dump(obj),pickler不会“傻傻”的去多次序列化。
对象持久性依赖于底层编程语言的对象序列化能力。对于 Python 对象即意味着 pickle。Python 的 pickle 为 Python 对象有效的持久性管理提供了健壮的和可靠的基础。
上一篇: 解决织梦Dedecms自动摘要字节限制
推荐阅读
-
跟老齐学Python之Import 模块
-
python3之模块psutil系统性能信息使用
-
Python3.5内置模块之time与datetime模块用法实例分析
-
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
-
python爬虫常用的模块分析
-
Python常用模块之requests模块用法分析
-
Python内置random模块生成随机数的方法
-
Python3内置模块之json编解码方法小结【推荐】
-
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
-
Python3.5内置模块之random模块用法实例分析