Python: 如何讀取json檔? json.load(TextIOWrapper) #文本流輸入輸出封裝器; json.loads(str) 有何差別? 如何跳到文件的一開頭? f.seek(0,0) ; dict的key若重複,後面覆蓋前面

加入好友
加入社群
Python: 如何讀取json檔? json.load(TextIOWrapper) #文本流輸入輸出封裝器; json.loads(str) 有何差別? 如何跳到文件的一開頭? f.seek(0,0) ; dict的key若重複,後面覆蓋前面 - 儲蓄保險王

code:

import json
import os

dirname = r"D:\json"
basename = "test_json_comment.json"
fpath = os.path.join(dirname, basename)

with open( fpath , encoding="UTF-8" ) as json_file:
    dic = json.load(json_file)
    json_file.seek(0,0)    
    strr = json_file.read()
    print("strr:",strr)
    dic1 = json.loads(strr)

print("\ndic:",dic)
print("\ndic1",dic1)

輸出結果:

Python: 如何讀取json檔? json.load(TextIOWrapper) #文本流輸入輸出封裝器; json.loads(str) 有何差別? 如何跳到文件的一開頭? f.seek(0,0) ; dict的key若重複,後面覆蓋前面 - 儲蓄保險王

json.load 方法用於從文件中讀取並解析JSON數據,然後將其轉換為Python數據結構(字典、列表等)。在代碼中,已經使用了 json.load 來加載數據,並將其存儲在了 dic 變量中,因此不需要再次使用 json_file.read() 來讀取JSON文件的內容。

一旦使用 json.load 方法讀取了JSON文件的內容,文件指針就會在文件的末尾,若沒有json_file.seek(0,0)跳回文件的一開頭,再次調用 json_file.read() 將返回空字符串,因為已經到達了文件的末尾。

json.load(json_file) 跟
json.loads(strr)
參數的型別不一樣:

Python: 如何讀取json檔? json.load(TextIOWrapper) #文本流輸入輸出封裝器; json.loads(str) 有何差別? 如何跳到文件的一開頭? f.seek(0,0) ; dict的key若重複,後面覆蓋前面 - 儲蓄保險王

json_file.seek(0,0)
#第一個0表示文件之開頭
#第二個0表示偏移0

Python: 如何讀取json檔? json.load(TextIOWrapper) #文本流輸入輸出封裝器; json.loads(str) 有何差別? 如何跳到文件的一開頭? f.seek(0,0) ; dict的key若重複,後面覆蓋前面 - 儲蓄保險王

推薦hahow線上學習python: https://igrape.net/30afN


加入好友
加入社群
Python: 如何讀取json檔? json.load(TextIOWrapper) #文本流輸入輸出封裝器; json.loads(str) 有何差別? 如何跳到文件的一開頭? f.seek(0,0) ; dict的key若重複,後面覆蓋前面 - 儲蓄保險王

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡

You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *