失之毫厘差之千里之load和loads

news2024/11/25 1:31:38

起源

最近在读pandas库的一些文档的时候,顺便也会将文档上的一些demo在编辑器中进行运行测试,其中在读到pandas处理Json数据这一节的时候,我还是像往常一样,将文档提供的demo写一遍,结果在运行的时候,直接报异常了,我们来看看我的代码和报错信息吧!

image.png

翻译了一下,大概就是“str”对象没有属性“read”

咿?我就纳闷儿了,怎么可能呢?这么简单的几句代码就执行报异常了。然后赶紧就赶紧返回看文档提供的demo,进行对比,看是不会有什么区别。

结果看完以后,真的想打自己两下,人家调用的是json.loads() 而我调用成了json.load() 。就是这么一点儿点儿区别,修改完成后我们在看看运行结果

image.png

运行结果没问题,是我们想要的结果,那么我在这里就有一个疑问了,loads()和load() 它们两个到底存在着什么不为人知的区别呢?傻傻分不清楚,下面我们就把它们两个进行剖析,让真相浮出水面。

真相

首先我们得知道loads()和load()这俩哥们是干什么工作的? 它们两个的用处很简单就是加载读取json文件内容,但是到底用谁,这可是有讲究的,不能乱用的,小心给你报异常!!!

其次呀,我们的知道它们的区别有这么几点:

(1) 功能参数

load函数用于从文件中加载json数据,它接受一个对象作为参数,并将json数据解析成python对象,我们可以看看源码截图。

image.png

loads函数也是从文件中加载json数据,它接受一个字符串作为参数,然后返回一个python对象。 同样的,源码截图展示。

image.png

(2) 应用场景

load函数是当我们需要在磁盘上读取文件中的内容时,使用此函数。

loads函数是我们已经有了一个JSON字符串,需要将其解析为Python对象时,应使用此函数。

作者:二闹
链接:https://juejin.cn/post/7373858892038995979

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1718193.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux - 磁盘管理1

1.磁盘的分区 1.1 磁盘的类型(标签) MBR: ① 最大支持2T以内的硬盘 ② 有主分区p 拓展分区e 逻辑分区l之分 > 主分区编号1-4,主分区可以格式化使用 拓展分区编号1-4,拓展分区不能格式化 拓展分区最多能有1个&…

01Linux以及操作系统概述

课程目标 1.了解现代操作系统的整体构成及发展历史 2.了解Linux操作系统及其分支版本 3.直观上理解服务器端与桌面端版本的区别 课程实验 1.通过对CentOS和Ubuntu的演示,直观理解Linux与Windows的异同 课堂引入 本章内容主要为大家详细讲解Linux操作系统(以下简…

STM32—USART 串口通讯

目录 1 、 电路构成及原理图 2 、编写实现代码 main.c usart.c 3、代码讲解 4、烧录到开发板调试、验证代码 5、检验效果 STM32F103RCT6开发板——全集成开发板,让开发更简单! 此笔记基于朗峰 STM32F103 系列全集成开发板的记录。 1 、 电路构成及原理图 …

香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试(二)

整期笔记索引 香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试(一) 香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试(二) 香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试(…

安防监控视频平台LntonCVS视频监控汇聚平台遏制校园暴力保护校园学生安全应用方案

未成年人被誉为祖国的花朵,是我们国家的未来。然而,最近频繁曝出的未成年霸凌事件却引发了社会的广泛关注。这些事件手段残忍,事态恶劣,引发了全社会对如何保护未成年身心健康、规避霸凌事件发生的深刻思考。 为了更好地保障学生的…

Vitalik:Layer2 是以太坊社区文化的延伸

原文标题:《Layer 2s as cultural extensions of Ethereum》 撰文:Vitalik Buterin,以太坊联合创始人 编译:Chris,Techub News 在我最近关于 L1 和 L2 扩容差异的文章中,我最终得出的结论是, …

惠普发布最新财报,对AIPC寄予厚望

KlipC报道:5月29日,惠普发布了第二财季财报(截止2024年4月30日),净营收128亿美元,同比下降0.8%,但是高于市场预期的126亿美元;净利润6亿美元同比下降42%。调整后美股净利0.82美元&am…

Navicat使用ssh隧道连接mysql数据库

转载请标明出处:http://blog.csdn.net/donkor_/article/details/139352748 文章目录 前言新建连接MySql,填写ssh隧道信息方式1:使用密码方式连接方式二:使用密钥方式连接 填写常规信息总结 前言 使用ssh隧道连接数据库,方便本机…

百度地图2

覆盖物 叠加层 添加叠加层 GroundOverlay(bounds: Bounds, opts: GroundOverlayOptions):地图上的地面叠加层。 Bounds(sw: Point, ne: Point):表示地理坐标的矩形区域。sw表示矩形区域的西南角,参数ne表示矩形区域的东北角。 GroundOverlayOptions&#xff1a…

[Redis]Hash类型

基本命令 hset命令 设置 hash 中指定的字段(field)的值(value) 返回值:添加的字段的个数(注意是添加的个数,而不包括修改的) hset key field value [field value ...] hget命令 …

ChatGPT-4o 有何特别之处?

文章目录 多模态输入,多模态输出之前的模型和现在模型对比 大家已经知道,OpenAI 在 GPT-4 发布一年多后终于推出了一个新模型。它仍然是 GPT-4 的一个变体,但具有前所未见的多模态功能。 有趣的是,它包括实时视频处理等强大功能&…

Ubuntu (18.04) _Mysql (8.0.X)设置密码强度

首先 查看是否有密码强度插件: SHOW PLUGINS; 如果没有,则安装 install plugin validate_password soname validate_password.so; 再次查看,会看到密码强度插件已开 其次 查看密码强度具体配置 show variables like validate_password%; validate…

QT 欧姆龙 fins协议 上位机程序

一个根据欧姆龙的FINS协议制作的上位机读取程序,功能如下: 能够增加、编辑、删除PLC的名称、IP地址与端口号。取编辑时间最新的六台显示在主界面中。数据存入 MYSQL 数据库,可以修改数据库名称、IP地址、端口号、登陆用户与密码。设置数据存…

eNSP学习——OSPF的DR与BDR

目录 相关命令 原理概述 实验内容 实验目的 实验拓扑 实验编址 实验步骤 1、基本配置 2、搭建基本的OSPF网络 3、查看默认情况下的DR/BDR状态 4、根据现网需求影响DR/BDR选举 相关命令 [R4]int g0/0/0 [R4-GigabitEthernet0/0/0]ospf network-type p2mp //在接…

如何识别并选择正规、优质的外汇交易平台?

外汇市场的日益繁荣吸引了越来越多的投资者,但同时也带来了众多外汇平台的涌现。如何在这些平台中筛选出正规、可信的平台,成为了每位外汇交易者必须面对的首要问题。以下,我们将为您揭示如何鉴别外汇平台真伪的几个关键方法: 首先…

移动端性能测试(android/ios)

solox官网 https://github.com/smart-test-ti/SoloX solox简介 实时收集android/ios性能的工具,Android设备无需Root,iOS设备无需越狱。有效解决Android和iOS性能的测试和分析挑战。 solox安装 环境准备 python安装3.10以上的 python官网下载地址…

Oracle Hint /*+APPEND*/插入性能总结

oracle append用法 Oracle中的APPEND用法主要用于提高数据插入的效率。 基本用法:在使用了APPEND选项后,插入数据会直接加到表的最后面,而不会在表的空闲块中插入数据。这种做法不需要寻找freelist中的free block,从而避免了在…

Facebook代运营 | Facebook广告投放步骤及要点

Facebook体量大,素材的更新频率快,通过Facebook进行广告投放的用户也越来越多,Facebook坐拥大量用户,同时有着非常科学的用户画像构建系统和推送机制,对于很多广告涉足的伙伴来说,更加的友好。 1. 创建广告…

2024.5.29晚训参考代码

因为本套题没有BFS例题&#xff0c;所以我先把BFS模板放着 #include<bits/stdc.h> using namespace std; int n,m;//n*m的棋盘 int dis[402][402]; bool vis[402][402]; int X[]{-2,-2,-1,-1,1,1,2,2};//偏移量的表 int Y[]{-1,1,-2,2,-2,2,-1,1};//定义一个数组&…

【工具】 MyBatis Plus的SQL拦截器自动翻译替换“?“符号为真实数值

【工具】 MyBatis Plus的SQL拦截器自动翻译替换"?"符号为真实数值 使用MyBatis的配置如下所示&#xff1a; mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl调用接口&#xff0c;sql日志打印如下&#xff1a; 参数和sql语句不…