python中dump与dumps的区别

2023-11-14

"""
Python3 JSON模块的使用
参考链接:https://docs.python.org/3/library/json.html
这里只是介绍最常用的dump、dumps和load、loads
"""

import json

# 自定义了一个简单的数据(Python中的字典类型),要想Python中的字典能够被序列化到json文件中请使用双引号!双引号!双引号!
data_obj = {
    "北京市": {
        "朝阳区": ["三里屯", "望京", "国贸"],
        "海淀区": ["五道口", "学院路", "后厂村"],
        "东城区": ["东直门", "崇文门", "王府井"],
    },
    "上海市": {
        "静安区": [],
        "黄浦区": [],
        "虹口区": [],
    }
}

# ---------------------------------------------------分割线------------------------------------------------------------


"""
dumps:序列化一个对象
sort_keys:根据key排序
indent:以4个空格缩进,输出阅读友好型
ensure_ascii: 可以序列化非ascii码(中文等)

"""
s_dumps = json.dumps(data_obj, sort_keys=True, indent=4, ensure_ascii=False)
print(s_dumps)

# ---------------------------------------------------分割线------------------------------------------------------------


"""
dump:将一个对象序列化存入文件
dump()的第一个参数是要序列化的对象,第二个参数是打开的文件句柄
注意打开文件时加上以UTF-8编码打开

* 运行此文件之后在统计目录下会有一个data.json文件,打开之后就可以看到json类型的文件应该是怎样定义的

"""
with open("data.json", "w", encoding="UTF-8") as f_dump:
    s_dump = json.dump(data_obj, f_dump, ensure_ascii=False)
print(s_dump)

# ---------------------------------------------------分割线------------------------------------------------------------


"""
load:从一个打开的文件句柄加载数据
注意打开文件的编码

"""
with open("data.json", "r", encoding="UTF-8") as f_load:
    r_load = json.load(f_load)
print(r_load)

# ---------------------------------------------------分割线------------------------------------------------------------


"""
loads: 从一个对象加载数据

"""
r_loads = json.loads(s_dumps)
print(r_loads)

arg = '{"bakend": "www.oldboy.org", "record": {"server": "100.1.7.9", "weight": 20, "maxconn": 30}}'

a = json.loads(input('请输入添加的数据:'),encoding='utf-8')
print(a)

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

python中dump与dumps的区别 的相关文章

随机推荐

  • 用GCC开发STM32,正点原子开发板的一个库函数版本例程示例

    GCC环境搭建 首先下载交叉编译环境GCC 这个网上有很多 百度一下就能找到下载 比如 Sourcery G for ARM EABI 我的CSDN资源里 有相关下载 熟悉下Makefile 强力推荐熟悉网络牛人李云的51cto博客 有一篇
  • java 数组的长度_Java初学者:数组,得到数组长度

    得到数组的长度在java里是很简单的 那就是 数组名 length 我们来看一个简单的程序就可以了 如下 这个就是上次的那个程序 我只是把for后面那个4改成了a length 也许有人要问了 那为什么非要求出数组的长度呢 数组在起始的时候
  • Redraiment的遭遇

    描述 Redraiment的老家住在工业区 日耗电量非常大 是政府的眼中钉肉中刺 但又没办法 这里头住的可都是纳税大户呀 今年7月 又传来了不幸的消息 政府要在7 8月对该区进行拉闸限电 但迫于压力 限电制度规则不会太抠门 政府决定从7月1
  • 【CUDA】cuda安装 (windows版)

    CUDA cuda安装 windows10版 一 前言 官方教程 二 安装工具的准备 1 CUDA toolkit Download 2 cuDNN Download 三 CUDA 安装与配置过程 测试环境是否安装成功 四 cuDNN配置
  • JAVA简介

    JAVA简介 java是一种高级的面向对象的程序设计语言 使用java编写的的程序可以在任何计算机 操作系统和支持java的硬件设备上运行 什么是java java语言的发展历程 Java是于1995年由Sun公司推出的一种极富创造力的面向
  • 手撸算法-计算表达式

    牛客原题 描述 请写一个整数计算器 支持加减乘三种运算和括号 示例1 输入 1 2 返回值 3 示例2 输入 2 3 4 5 返回值 10 示例3 输入 3 2 3 4 1 返回值 26 思路 从左向右遍历字符串 1 遇到数字则入栈 注意数
  • C#Winform窗体实现服务端和客户端通信例子(TCP/IP)

    Winform窗体实现服务端和客户端通信的例子 是参考这个地址 http www cnblogs com longwu archive 2011 08 25 2153636 html 进行了一些异常处理 提示信息的补充 还有新增获取本地IP
  • 【docker】docker 实现 的基础

    1 概述 还不懂Docker 一个故事安排的明明白白
  • 大数相加(c++)算法

    有没有想过100位数加100数的数字该如何计算出结果吗 一般计算机是无法直接计算那么大的数字 这个时候我们得模拟我们手算加法的进制过程 如何用代码把它实现 这样子就能实现大数相加了 首先我很感谢汤健同学给我分享的这串代码 我写笔记的初衷是为
  • R 中的with() 函数和 by()函数 的简单使用

    with data expr 函数用于在一个从data构建出的环境中运行R表达式 by data INDICES FUN simplify TRUE 函数用于将data中的数据 按照INDICES里面的内容拆分成若干个小的data fram
  • 提高ubuntu下访问github的速度\加速git clone速度

    这个是真的有用 https blog csdn net hn tzy article details 88903642
  • 实战中的 Promise 和 Future

    上一章介绍了 Future 类型 以及如何用它来编写高可读性 高组合性的异步执行代码 Future 只是整个谜团的一部分 它是一个只读类型 允许你使用它计算得到的值 或者处理计算中出现的错误 但是在这之前 必须得有一种方法把这个值放进去 这
  • Python正则表达式re模块学习遇到的问题

    Python正则表达式处理的组是什么 Python正则表达式处理中的匹配对象是什么 Python匹配对象的groups groupdict和group之间的关系 Python正则表达式re match r a1b2c3 匹配结果为什么是 c
  • Swiper、vue-awesome-swiper 插件使用

    Swiper在PC端和移动端都适用 官方网站 Swiper中文网首页 官方 vue2 配合 swiper5或6版本 vue3 可以使用 swiper8最新版本 一 Swiper插件 Vue React Angular框架都可以使用 1 使用
  • 【计算机组成原理】实验4:存储器读写实验

    实验内容 一 实验原理 存储器是计算机的存储部件 用于存放程序和数据 存储器是计算机信息存储的核心 是计算机必不可少的部件之一 计算机就是按存放在存储器中的程序自动有序不间断地进行工作 本系统从提高存储器存储信息效率的角度设计数据通路 按现
  • wms系统与物联网发展趋势密切相关

    物联网 简称IoT 是指通过各种信息传感器 射频识别技术 全球定位系统 红外感应器 激光扫描器等各种装置与技术 实时采集任何需要监控 连接 互动的物体或过程 采集其声 光 热 电 力学 化学 生物 位置等各种需要的信息 通过各类可能的网络接
  • 海德拉 暴力破解ssh密码

    上一篇博客写到怎么有效地防护ssh密码遭到暴力破解 今天给大家介绍下如何暴力破解ssh密码 作为一名云计算工程师 懂得如何防护比如何攻击更重要 hydra是世界顶级密码破解工具 支持几乎所有协议的在线密码破解 密码能否被破解取决于密码字典是
  • 华为OD机试真题-优雅子数组Python实现【2023.Q1】

    题目内容 如果一个数组中出现次数最多的元素出现大于等于K次 被称为K 优雅数组 k也可以被称为优雅阈值 例如 数组1 2 3 1 2 3 1 它是一个3 优雅数组 因为元素1出现次数大于等于3次 数组1 2 3 1 2就不是一个3 优雅数组
  • MySQL 日期格式化

    本文旨在以最快的速度 提供你需要的 MySQL 日期格式化方案 1 将时间格式化为 YYYY mm dd HH ii ss 格式 我想你要搜的就是这个 哈哈哈 SELECT DATE FORMAT NOW Y m d H i s 效果如图
  • python中dump与dumps的区别

    Python3 JSON模块的使用 参考链接 https docs python org 3 library json html 这里只是介绍最常用的dump dumps和load loads import json 自定义了一个简单的数据