使用Python讀取json文件的方法小結(jié)
使用python讀取json文件,輸出結(jié)果為字符串或python對(duì)象
如下圖,data目錄下有test.json文件

現(xiàn)在可以通過python讀取該json文件,并輸出為兩種不同類型(python對(duì)象、字符串)的數(shù)據(jù)
1.輸出為python對(duì)象,這里使用的是json模塊的load()方法
(1)輸出類型和文件內(nèi)容如下:

(2)源代碼(需要引入json庫(kù)):
import json
#定義文件路徑
path = './data/'
# 打開文件,r是讀取,encoding是指定編碼格式
with open(path + 'test.json','r',encoding = 'utf-8') as fp:
print(type(fp)) #輸出結(jié)果是 <class '_io.TextIOWrapper'> 一個(gè)文件類對(duì)象
# load()函數(shù)將fp(一個(gè)支持.read()的文件類對(duì)象,包含一個(gè)JSON文檔)反序列化為一個(gè)Python對(duì)象
data = json.load(fp)
print(type(data)) #輸出結(jié)果是 <class 'dict'> 一個(gè)python對(duì)象,json模塊會(huì)根據(jù)文件類對(duì)象自動(dòng)轉(zhuǎn)為最符合的數(shù)據(jù)類型,所以這里是dict
print("\n************************************************************************************************************\n")
print(data)
print("\n************************************************************************************************************\n")
# 因?yàn)樯厦媸褂昧藈ith語句,使用 with 語句打開文件時(shí),with 語句會(huì)創(chuàng)建一個(gè)代碼塊的上下文,并在代碼塊執(zhí)行結(jié)束后自動(dòng)清理資源。通過這種方式,我們可以不用顯示調(diào)用 file.close() 來關(guān)閉文件,從而避免資源泄漏的問題。
# fp.close() 2.輸出類型為字符串,這里使用的是read()方法
(1)輸出類型和文件內(nèi)容如下:

(2)源代碼:
#文件路徑
path = './data/'
# 打開文件,r是讀取的意思,encoding是指定編碼格式
with open(path + 'test.json','r',encoding = 'utf-8') as fp:
print(type(fp)) #輸出結(jié)果是 <class '_io.TextIOWrapper'> 一個(gè)文件類對(duì)象
# read()方法將fp(一個(gè)支持.read()的文件類對(duì)象,包含一個(gè)JSON文檔)轉(zhuǎn)換成字符串
data = fp.read()
print(type(data)) #輸出結(jié)果是 <class 'str'> 字符串
print("\n************************************************************************************************************\n")
print(data)
print("\n************************************************************************************************************\n")
# 因?yàn)樯厦媸褂昧藈ith語句,使用 with 語句打開文件時(shí),with 語句會(huì)創(chuàng)建一個(gè)代碼塊的上下文,并在代碼塊執(zhí)行結(jié)束后自動(dòng)清理資源。通過這種方式,我們可以不用顯示調(diào)用 file.close() 來關(guān)閉文件,從而避免資源泄漏的問題。
# fp.close()到此這篇關(guān)于Python讀取json文件的方法小結(jié)的文章就介紹到這了,更多相關(guān)Python讀取json文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python批量修改文件夾及其子文件夾下的文件內(nèi)容
這篇文章主要為大家詳細(xì)介紹了python批量修改文件夾及其子文件夾下的文件內(nèi)容,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
Python實(shí)現(xiàn)監(jiān)控程序執(zhí)行時(shí)間并將其寫入日志的方法
這篇文章主要介紹了Python實(shí)現(xiàn)監(jiān)控程序執(zhí)行時(shí)間并將其寫入日志的方法,實(shí)例分析了Python日志操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06
Python使用Colorama庫(kù)美化終端輸出的操作示例
在開發(fā)命令行工具或調(diào)試程序時(shí),我們可能會(huì)希望通過顏色來區(qū)分重要信息,比如警告、錯(cuò)誤、提示等,而 Colorama 是一個(gè)簡(jiǎn)單易用的 Python 庫(kù),可以幫助我們輕松地為終端輸出添加顏色,本文給大家介紹了Python使用Colorama庫(kù)美化終端輸出的操作示例,需要的朋友可以參考下2025-01-01
Python利用 ADB工具進(jìn)行手機(jī)自動(dòng)化控制
這篇文章主要為大家詳細(xì)介紹了如何使用 Python 和 ADB 工具實(shí)現(xiàn) PC 控制 Android 手機(jī)自動(dòng)滑動(dòng)視頻的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2025-10-10
Python機(jī)器學(xué)習(xí)NLP自然語言處理基本操作之命名實(shí)例提取
自然語言處理(?Natural?Language?Processing,?NLP)是計(jì)算機(jī)科學(xué)領(lǐng)域與人工智能領(lǐng)域中的一個(gè)重要方向。它研究能實(shí)現(xiàn)人與計(jì)算機(jī)之間用自然語言進(jìn)行有效通信的各種理論和方法2021-11-11

