使用Python读取json文件的方法小结

 更新时间:2023年09月05日 10:36:54   作者:代码写不完了  
这篇文章主要给大家介绍了Python读取json文件的方法,使用python读取json文件,输出结果为字符串或python对象,文中有详细的代码示例和图解,感兴趣的小伙伴可以自己动手试一试

使用python读取json文件,输出结果为字符串或python对象

如下图,data目录下有test.json文件 

现在可以通过python读取该json文件,并输出为两种不同类型(python对象、字符串)的数据

1.输出为python对象,这里使用的是json模块的load()方法

(1)输出类型和文件内容如下:

(2)源代码(需要引入json库):

import json
#定义文件路径
path = './data/'
# 打开文件,r是读取,encoding是指定编码格式
with open(path + 'test.json','r',encoding = 'utf-8') as fp:
    print(type(fp))  #输出结果是 <class '_io.TextIOWrapper'> 一个文件类对象
    # load()函数将fp(一个支持.read()的文件类对象,包含一个JSON文档)反序列化为一个Python对象
    data = json.load(fp)
    print(type(data))  #输出结果是 <class 'dict'> 一个python对象,json模块会根据文件类对象自动转为最符合的数据类型,所以这里是dict
print("\n************************************************************************************************************\n")
print(data)
print("\n************************************************************************************************************\n")
# 因为上面使用了with语句,使用 with 语句打开文件时,with 语句会创建一个代码块的上下文,并在代码块执行结束后自动清理资源。通过这种方式,我们可以不用显示调用 file.close() 来关闭文件,从而避免资源泄漏的问题。
# fp.close() 

2.输出类型为字符串,这里使用的是read()方法 

(1)输出类型和文件内容如下:

(2)源代码:

#文件路径
path = './data/'
# 打开文件,r是读取的意思,encoding是指定编码格式
with open(path + 'test.json','r',encoding = 'utf-8') as fp:
    print(type(fp)) #输出结果是 <class '_io.TextIOWrapper'> 一个文件类对象
    # read()方法将fp(一个支持.read()的文件类对象,包含一个JSON文档)转换成字符串
    data = fp.read()
    print(type(data)) #输出结果是 <class 'str'> 字符串
print("\n************************************************************************************************************\n")
print(data)
print("\n************************************************************************************************************\n")
# 因为上面使用了with语句,使用 with 语句打开文件时,with 语句会创建一个代码块的上下文,并在代码块执行结束后自动清理资源。通过这种方式,我们可以不用显示调用 file.close() 来关闭文件,从而避免资源泄漏的问题。
# fp.close()

到此这篇关于Python读取json文件的方法小结的文章就介绍到这了,更多相关Python读取json文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Tensor 和 NumPy 相互转换的实现

    Tensor 和 NumPy 相互转换的实现

    本文主要介绍了Tensor 和 NumPy 相互转换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • WxPython界面如何用pubsub展示进程工作的进度条

    WxPython界面如何用pubsub展示进程工作的进度条

    这篇文章主要介绍了WxPython界面如何用pubsub展示进程工作的进度条,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Go语言基于Socket编写服务器端与客户端通信的实例

    Go语言基于Socket编写服务器端与客户端通信的实例

    这篇文章主要介绍了Go语言基于Socket编写服务器端与客户端通信的实例,包括实现基于自定义通讯协议的Socket通信,需要的朋友可以参考下
    2016-02-02
  • python装饰器代码深入讲解

    python装饰器代码深入讲解

    这篇文章主要介绍了python装饰器代码深入讲解,文章使用代码讲解了pythone装饰器的用法,有感兴趣的同学可以学习下
    2021-03-03
  • Python缩进问题IndentationError的原因分析和解决方法

    Python缩进问题IndentationError的原因分析和解决方法

    Python通过缩进(空格或制表符)定义代码层级关系,这种设计虽提升了代码可读性,但也导致IndentationError成为新手高频错误类型,本文将深度剖析缩进错误的根源,需要的朋友可以参考下
    2025-12-12
  • Tensorflow2.4从头训练Word Embedding实现文本分类

    Tensorflow2.4从头训练Word Embedding实现文本分类

    这篇文章主要为大家介绍了Tensorflow2.4从头训练Word Embedding实现文本分类,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • python 装饰器的使用与要点

    python 装饰器的使用与要点

    python的装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能;装饰器的返回值也是一个函数对象。简单的说装饰器就是一个用来返回函数的函数
    2021-05-05
  • 用Python计算三角函数之acos()方法的使用

    用Python计算三角函数之acos()方法的使用

    这篇文章主要介绍了用Python计算三角函数之acos()方法的使用,是Python学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • python实现发送邮件

    python实现发送邮件

    这篇文章主要为大家详细介绍了python实现发送邮件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • Python使用scapy模块发包收包

    Python使用scapy模块发包收包

    这篇文章主要介绍了Python如何使用scapy模块发包收包,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-05-05

最新评论