前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >七、python学习笔记-序列化-pickle

七、python学习笔记-序列化-pickle

原创
作者头像
堕落飞鸟
发布2022-01-14 08:41:04
1850
发布2022-01-14 08:41:04
举报
文章被收录于专栏:飞鸟的专栏
代码语言:javascript
复制
# pickle
"""
1、pickle是一个模块
2、pickle是一个序列化工具
3、pickle支持函数类型
    pickle导出的函数只是变量名(函数名并非整个函数),如果导入后使用需要在该项目下有这个函数
4、pickle导出导入时是bytes类型
"""
代码语言:javascript
复制
# 引入模块
import pickle

# pickle的dumps和dump,loads和load用法和json一样

# 将字典转换成pickle格式保存到文件
# 创建一个字典
dic = {1: 'a', 2: 'b', 3: 'c'}

# 创建文件对象
# pickle导出时是bytes类型,使用wb
f = open('pickle', 'wb')

# 将字典转换成pickle格式保存到文件
data = pickle.dumps(dic)
f.write(data)

# 关闭文件
f.close()

# 通过pickle文件读取数据,并打印
# 创建文件对象,pickle导入时是bytes类型,使用rb
f = open('pickle', 'rb')

# 通过pickle文件读取数据,并打印
data = f.read()
print(pickle.loads(data))

# 关闭文件
f.close()


# 将函数转换成pickle格式保存到文件
# 创建一个函数
def foo():
    print('abc')


# 创建文件对象
# pickle导出时是bytes类型,使用wb
f = open('pickle_fun', 'wb')

# 将字典转换成pickle格式保存到文件
data = pickle.dumps(foo)
f.write(data)

# 关闭文件
f.close()

# 通过pickle文件读取数据,并打印
# 创建文件对象,pickle导入时是bytes类型,使用rb
f = open('pickle_fun', 'rb')

# 通过pickle文件读取函数,并执行
data = f.read()

foo1 = pickle.loads(data)

foo1()

# 关闭文件
f.close()

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档