json和pickle的dump,dumps,load,dumps方法的使用

2023-11-17

"""
序列化 (Serialization)
将对象的状态信息转换为便于存储或传输的形式的过程称之为序列化, 该过程的逆向则称之为反序列化, 如:
(1)数据和文本的转换
(2)Python的数据类型和二进制数据类型的转化
(3)Python的数据类型和json的转化

本文介绍使用json和pickle进行序列化和反序列化, 它们都提供了四种方法:
    dump() 把数据序列化并保存至文件
    dumps() 把数据序列化
    load() 从文件中读取数据并反序列化
    dumps() 把数据反序列化
"""

import json
import pickle

data = {
    'int': 1,
    'str': 'string',
    'list': [1, 2, 3],
}

"""json"""

# dumps()用法
# 把python数据转为json
json_data = json.dumps(data)
print('type:', type(json_data))
print('data:', json_data)

# loads()用法
# 再把json转为python数据
py_data = json.loads(json_data)
print('type:', type(py_data))
print('data:', py_data)

# dump()用法
# 把python数据存为.json文件
with open('py_to_json.json', 'w') as file:
    json.dump(data, file)

# load()用法
# 从.json文件中读取数据并转为python类型
with open('py_to_json.json', 'r') as file:
    py_data = json.load(file)
    print('type:', type(py_data))
    print('data:', py_data)

"""pickle"""
print('='*80)

# dumps()用法
# 把python数据转为byte类型
byte_data = pickle.dumps(data)
print('type:', type(byte_data))
print('data:', byte_data)

# loads()用法
# 再把byte类型转为python数据
py_data = pickle.loads(byte_data)
print('type:', type(py_data))
print('data:', py_data)

# dump()用法
# 把python数据存为.pkl
with open('py_to_byte.pkl', 'wb') as file:
    pickle.dump(data, file)

# load()用法
# 从.pkl文件中读取数据并转为python类型
with open('py_to_byte.pkl', 'rb') as file:
    py_data = pickle.load(file)
    print('type:', type(py_data))
    print('data:', py_data)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

json和pickle的dump,dumps,load,dumps方法的使用 的相关文章

  • 如何将one-hot向量转换为多标签?

    我有一项多分类任务 并且我得到了像这样的单热类型预测 0 1 1 0 1 0 1 0 1 我希望将这个单热向量转换为标签 例如 1 2 1 0 2 我已经尝试过 tf argmax 但它不起作用 那么我该如何处理呢 使用列表理解 oheLi
  • 判断线程是否已经启动

    如何判断Python线程是否已经启动 有一个方法is alive 但这是真的before and while一个线程正在运行 你可以看看ident领域的Thread实例 这Python 2 7 线程文档 http docs python o
  • 如何 json_normalize() df 中的特定字段并保留其他列? [复制]

    这个问题在这里已经有答案了 这是我的简单示例 我的实际数据集中的 json 字段非常嵌套 因此我一次解压一层 我需要在 json normalize 之后保留数据集上的某些列 https pandas pydata org docs ref
  • 如何有条件地组合两个相同形状的 numpy 数组

    这听起来很简单 但我想我把它想得太复杂了 我想创建一个数组 其元素是从两个形状相同的源数组生成的 具体取决于源数组中哪个元素更大 为了显示 import numpy as np array1 np array 2 3 0 array2 np
  • 如何用spaCy获取依赖树?

    我一直在尝试寻找如何使用 spaCy 获取依赖树 但我找不到任何有关如何获取树的信息 只能在如何导航树 https spacy io usage examples subtrees 如果有人想轻松查看 spacy 生成的依赖关系树 一种解决
  • 蟒蛇 |如何将元素随机添加到列表中

    有没有一种方法可以将元素随机添加到列表中 内置函数 ex def random append lst a lst append b lst append c lst append d lst append e return print ls
  • 无法将 datetime.datetime 与 datetime.date 进行比较

    我有以下代码并收到上述错误 由于我是 python 新手 我无法理解这里的语法以及如何修复错误 if not start or date lt start start date 有一个datetime date 从日期时间转换为日期的方法
  • 如何用xlrd读取公式

    我正在尝试做一个解析器 它读取几个 Excel 文件 我通常需要位于行底部的值 您可以在其中找到所有上部元素的总和 因此 单元格值实际上是 sum 或 A5 0 5 可以说 对于使用 Excel 打开此文件的用户来说 它看起来像一个数字 这
  • 远程控制或脚本打开 Office 从 Python 编辑 Word 文档

    我想 最好在 Windows 上 在特定文档上启动 Open Office 搜索固定字符串并将其替换为我的程序选择的另一个字符串 我该如何从外部 Python 程序中做到这一点 OLE 什么 原生 Python 脚本解决方案 The doc
  • 使用 Python 抓取维基百科数据

    我正在尝试从以下内容中检索 3 列 NFL 球队 球员姓名 大学球队 维基百科页面 http en wikipedia org wiki 2008 NFL draft 我是 python 新手 一直在尝试使用 beautifulsoup 来
  • 我有一个 Employee 类,我想返回“姓名”列表

    我有一个 Employee 类 我想返回 姓名 列表 雇员 py class Employee object def init self id name members None self id id self name name self
  • 熊猫记忆

    我有冗长的计算 我重复了很多次 因此 我想使用记忆 诸如jug http packages python org Jug and joblib http packages python org joblib memory html 与Pan
  • 如何解码 dtype=numpy.string_ 的 numpy 数组?

    我需要使用 Python 3 解码按以下方式编码的字符串 gt gt gt s numpy asarray numpy string hello nworld gt gt gt s array b hello nworld dtype S1
  • 如何获取 Matplotlib 生成的散点图的像素坐标?

    我使用 Matplotlib 生成散点图的 PNG 文件 现在 对于每个散点图 除了 PNG 文件之外 我还会also就像生成散点图中各个点的像素坐标列表一样 我用来生成散点图 PNG 文件的代码基本上是这样的 from matplotli
  • Python time.sleep - 永不醒来

    我认为这将是那些简单的问题之一 但它让我感到困惑 停止媒体 我是对的 找到了解决方案 查看答案 我正在使用 Python 的单元测试框架来测试多线程应用程序 很好而且很直接 我有 5 个左右的工作线程监视一个公共队列 以及一个为它们制作工作
  • 在 Python 中,如何获取特定文件中定义的类列表?

    如果一个文件myfile py包含 class A object Some implementation class B object Some implementation 我如何定义一个方法 以便在给定的情况下myfile py 它返回
  • python 中的基本矩阵转置

    我尝试了 python 中矩阵转置的最基本方法 但是 我没有得到所需的结果 接下来是代码 A 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 print A def TS A B A for i in range len A
  • 在 python 查询参数中使用 %20 而不是 + 作为空格

    我使用 python requests 编写了以下 python 脚本 http requests readthedocs org en latest http requests readthedocs org en latest impo
  • Python“self”关键字[重复]

    这个问题在这里已经有答案了 我是 Python 新手 通常使用 C 最近几天开始使用它 在类中 是否需要在对该类的数据成员和方法的任何调用前添加前缀 因此 如果我在该类中调用方法或从该类获取值 我需要使用self method or sel
  • 从 Flask 中的 S3 返回 PDF

    我正在尝试在 Flask 应用程序的浏览器中返回 PDF 我使用 AWS S3 来存储文件 并使用 boto3 作为与 S3 交互的 SDK 到目前为止我的代码是 s3 boto3 resource s3 aws access key id

随机推荐

  • k8s中Endpoint是什么

    在Kubernetes K8s 中 Endpoint是一种资源对象 用于表示一个Service所依赖的真实后端节点的Pod信息 它存储了一组IP地址和端口号的列表 这些IP地址和端口号对应着提供相同服务的Pod实例 主要作用 Endpoin
  • 预估db2、oracle、teradata数据库sql执行代价和时间方法

    DB2 只能得到cost 1 执行存贮过程建表 CALL SYSPROC SYSINSTALLOBJECTS EXPLAIN C CAST NULL AS VARCHAR 128 数据库用户名 2 执行 EXPLAIN PLAN SET Q
  • Unity中容易被忽略的小技巧

    今天在游戏蛮牛上看到慕容小匹夫的一篇文章 感觉对自己现在的水平很实用 就给转载了过来 以便日后好温习一下 这里还是要支持原创作者 原文地址在这里 一 编辑器染色 一个常见的工作情景是我们在调整场景内的某些组件参数时 没有注意到自己是在Pla
  • iphone查看/private/var/mobile/Containers/Data/Application/文件

    xcode查看iPhone的private var 文件夹 xcode连接iPhone真机 选择app下载Containers文件夹到mac电脑中 查看手机中下载的文件 使用xcode真机调试的时候 文件目录都是这种 private var
  • 51单片机用c语言在液晶1602上显示汉字,51单片机LCD1602显示汉字(中文)源程序...

    include stc15f2k60s2 h define uchar unsigned char define uint unsigned int 数据端口接 P0 sbit lcdrs P2 7 端口定义 sbit lcdrw P2 6
  • php 自带过滤和转义函数

    php 自带过滤和转义函数 函数名 释义 介绍 htmlspecialchars 将与 单双引号 大于和小于号化成HTML格式 转成 amp 转成 quot 转成 039 lt 转成 lt gt 转成 gt htmlentities 所有字
  • LeGO-LOAM中的数学公式推导

    LeGO LOAM是一种在LOAM之上进行改进的激光雷达建图方法 建图效果比LOAM要好 但是建图较为稀疏 计算量也更小了 本文原地址 wykxwyc的博客 github注释后LeGO LOAM源码 LeGO LOAM NOTED 关于代码
  • c语言while break用法举例,c语言中continue和break的用法

    目前 随着计算机在人们生活和工作中的普及 其教学研究地位也在逐渐提升 C语言是一种计算机程序设计语言 其具有高级语言和汇编语言的特点 下面小编就跟你们详细介绍下c语言中continue和break的用法 希望对你们有用 c语言中contin
  • Git SSL certificate problem: unable to get local issuer certificate

    错误 Push failed Unable to access https github com ttsin gitTest git SSL certificate problem unable to get local issuer ce
  • Python物理数值解析

    让我们回忆一下库仑定律 来自位于 r 0 r 0 r0 处的单个点电荷 q 0 q 0
  • 自动驾驶是用Python实现的?你敢用吗?

    一 安装环境 gym是用于开发和比较强化学习算法的工具包 在python中安装gym库和其中子场景都较为简便 安装gym pip install gym 安装自动驾驶模块 这里使用Edouard Leurent发布在github上的包hig
  • eclipse汉化.设置为中文 简单好操作 java初学者看过来

    方法 1 查找语言包下载网址 并复制 2 打开eclipse 点击 help Install New Software Add 3 在 Location 中粘帖网址 点击 Add 4 勾选 简体中文包 5 等待加载完 重启 本教程操作环境
  • Kafka原理分析

    在基础篇中我们介绍MQ的一些基础原理 这篇文章 我们针对kafka进行较深入的分析 上篇文章中我们提到了kafka中一个名词broker 其实broker可以理解成为一台kafa服务器 kafka的特性和功能 在kafka设计之初是为了实时
  • Redis的安装(CentOS7)与部分配置文件的讲解

    Redis的安装 CentOS7 与部分配置文件的讲解 Redis的安装 步骤一 安装Redis依赖 下载安装最新版的gcc编译器 yum install y gcc tcl 步骤二 上传安装包并解压 1 将Redis安装包上传到 opt中
  • vue点击把某个区域变成图片数据

    前言 使用html2canvas 可以实现把某个区域变成图片的base64数据 官网入口 点我 目录 实现步骤 1 引入 npm引入 js引入 2 在需要使用的vue组件中引入 3 将制定区域内转成图片 添加ref标记 4 点击开始转换的方
  • SV--线程(mailbox)

    3 mailbox 3 1概述 线程之间如果传递信息 可以使用mailbox mailbox和队列queue有相近之处 mailbox是一个对象 因此也可以用new 来例化 例化时 有一个可选的参数size来限定其存储的最大数量 如果siz
  • Windows中zlib的安装与配置

    安装zlib所需前置条件 cmake VS 2022 其他版本也可以 cmake的安装可以看 windows中CMake的安装与配置 第一步 下载zlib库源文件 下载zlib库源文件 可以去官网下载 也可以去github下载 这里推荐Gi
  • 数据挖掘--分类算法的优缺点

    1决策树 Decision Trees 的优缺点 决策树的优点 一 决策树易于理解和解释 人们在通过解释后都有能力去理解决策树所表达的意义 二 对于决策树 数据的准备往往是简单或者是不必要的 其他的技术往往要求先把数据一般化 比如去掉多余的
  • 万向区块链元宇宙系列报告:对工业元宇宙的认知

    伴随着元宇宙概念大热 国内外多个巨头企业抢先布局 国内多个地方政府也在积极布局 发展元宇宙技术及相关产业 试图抢占先机 针对各业务场景与元宇宙的融合 万向区块链首席经济学家办公室团队出具了系列元宇宙相关研究报告 本篇将主要聚焦工业元宇宙 探
  • json和pickle的dump,dumps,load,dumps方法的使用

    序列化 Serialization 将对象的状态信息转换为便于存储或传输的形式的过程称之为序列化 该过程的逆向则称之为反序列化 如 1 数据和文本的转换 2 Python的数据类型和二进制数据类型的转化 3 Python的数据类型和json