使用Python讀取json文件的方法小結(jié)
使用python讀取json文件,輸出結(jié)果為字符串或python對象
如下圖,data目錄下有test.json文件
現(xiàn)在可以通過python讀取該json文件,并輸出為兩種不同類型(python對象、字符串)的數(shù)據(jù)
1.輸出為python對象,這里使用的是json模塊的load()方法
(1)輸出類型和文件內(nèi)容如下:
(2)源代碼(需要引入json庫):
import json #定義文件路徑 path = './data/' # 打開文件,r是讀取,encoding是指定編碼格式 with open(path + 'test.json','r',encoding = 'utf-8') as fp: print(type(fp)) #輸出結(jié)果是 <class '_io.TextIOWrapper'> 一個文件類對象 # load()函數(shù)將fp(一個支持.read()的文件類對象,包含一個JSON文檔)反序列化為一個Python對象 data = json.load(fp) print(type(data)) #輸出結(jié)果是 <class 'dict'> 一個python對象,json模塊會根據(jù)文件類對象自動轉(zhuǎn)為最符合的數(shù)據(jù)類型,所以這里是dict print("\n************************************************************************************************************\n") print(data) print("\n************************************************************************************************************\n") # 因為上面使用了with語句,使用 with 語句打開文件時,with 語句會創(chuàng)建一個代碼塊的上下文,并在代碼塊執(zhí)行結(jié)束后自動清理資源。通過這種方式,我們可以不用顯示調(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'> 一個文件類對象 # read()方法將fp(一個支持.read()的文件類對象,包含一個JSON文檔)轉(zhuǎn)換成字符串 data = fp.read() print(type(data)) #輸出結(jié)果是 <class 'str'> 字符串 print("\n************************************************************************************************************\n") print(data) print("\n************************************************************************************************************\n") # 因為上面使用了with語句,使用 with 語句打開文件時,with 語句會創(chuàng)建一個代碼塊的上下文,并在代碼塊執(zhí)行結(jié)束后自動清理資源。通過這種方式,我們可以不用顯示調(diào)用 file.close() 來關(guān)閉文件,從而避免資源泄漏的問題。 # fp.close()
到此這篇關(guān)于Python讀取json文件的方法小結(jié)的文章就介紹到這了,更多相關(guān)Python讀取json文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python簡單編寫一個股票監(jiān)控系統(tǒng)
這篇文章主要為大家詳細介紹了如何使用Python簡單編寫一個股票監(jiān)控系統(tǒng),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-12-12windows下python連接oracle數(shù)據(jù)庫
這篇文章主要為大家詳細介紹了windows下python連接oracle數(shù)據(jù)庫,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06Python自動化之數(shù)據(jù)驅(qū)動讓你的腳本簡潔10倍【推薦】
數(shù)據(jù)驅(qū)動是一種思想,讓數(shù)據(jù)和代碼進行分離。這篇文章主要介紹了Python自動化之數(shù)據(jù)驅(qū)動,讓你的腳本簡潔10倍,需要的朋友可以參考下2019-06-06Ubuntu權(quán)限不足無法創(chuàng)建文件夾解決方案
這篇文章主要介紹了Ubuntu權(quán)限不足無法創(chuàng)建文件夾解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11