• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

工具践习

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

python内容序列化与反序列化 json与pickle (待完善)

pickle 介绍

  1. 标准库,可以序列化任何类型的python对象
  2. 序列化产生的是字节流,要保存为二进制文件。可反序列化为python对象
  3. 可以往一个pickle放多个序列化的内容,读取时会一个一个读取,没有数据再读取的话会抛出错误EOFError
  4. 进行反序列化时,请注意数据来源可靠,它可能执行任意代码。(为什么?)

序列化到文件中

import pickle


f = open("a.pickle", "ab")

pickle.dump(data, f)
f.close()

反序列化

import pickle

f = open("a.pickle", "rb")

while True:
    try:
        data = pickle.load(f)
    except EOFError:
        break
f.close()

json库介绍

  1. 标准库,可序列化字典、列表、字符串、数字、布尔值和 None等常见类型
  2. 序列化后是字符串,可用于反序列化,人类可读
  3. 是否可以存储多组对象呢?

序列化

with open(filename, 'w') as f:
    json.dump(data, f)

反序列化

with open(filename, 'r',encoding="utf-8") as f:
    data = json.load(f)

posted on 2024-06-08 00:37  追梦的蒲公英  阅读(17)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3