鱼C论坛

 找回密码
 立即注册
查看: 2951|回复: 0

[技术交流] pickle序列化

[复制链接]
发表于 2020-9-25 14:15:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
# 想要将函数的复杂结构序列化,就要用pickle
# 如果在另一个程序中提取数据,那么需要再定义相同的函数def sayhi(name)
# 而函数的内容可以不同
  1. import pickle


  2. def sayhi(name):
  3.     print('hello,', name)
  4.     return name


  5. info = dict(name='Flagon', age=33, func=sayhi)
  6. # info里面的sayhi此处是func的值,所以不能加括号,加括号就是运行了
  7. f_in = open('testpickle.txt', 'wb')
  8. # pickle处理的型式为字节,所以用'wb'
  9. data_in = pickle.dumps(info)
  10. f_in.write(data_in)
  11. f_in.close()
  12. print('输入的内容:', data_in)

  13. # 下面是反序列化
  14. f_out = open('testpickle.txt', 'rb')
  15. data_out = pickle.loads(f_out.read())
  16. # 读取时恢复成字典了
  17. f_out.close()
  18. print('Output age:', data_out['age'])
  19. print('Output func:', data_out['func']('Danix'))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-27 14:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表