一、理解
為什麼要用json模組的格式讀取寫入?
1、由於python預設讀取write()寫入read()檔案的資料格式為字串(str),不能讀取寫入列表、字典等型別資料,所以需要採用json資料格式來儲存資料。
2、json資料格式在多種語言中通用,有利於分享資料。
二、python讀取寫入json格式分別有2種不同形式
1、json.dump()用於儲存寫入列表至list.json檔案。
import json
numbers =[2
,1,4
,3,4
,5]file_name =
"list.json"
with
open
(file_name,
'w')
as f:
#寫入方式1,等價於下面這行
json.dump(numbers,f)
#把列表numbers內容寫入到"list.json"檔案中
#寫入方式2
2、json.load()讀取本地的list.json檔案。
import json
file_name =
"list.json"
with
open
(file_name)
as f:
#讀取方式1,等價於下面這行
list
= json.load(f)
#讀取方式1
三、json資料格式實戰
實現功能:使用者輸入使用者名稱,如果以前儲存了使用者名稱,就載入它,否則,就儲存輸入的使用者名稱,並相應列印不同的問候提示語。
import json
import os
"""解析:判斷json檔案是否存在,獲取檔案中的列表,
defsearch_file
(filename)
:"""封裝判斷name.json檔案是否存在"""
if os.path.exists(filename)
:#存在則直接呼叫函式search_username(),進一步驗證使用者名稱
search_username(
)else
:#檔案不存在,則建立包含空列表(為了後面新增列表元素)的json檔案,再呼叫search_username()
names_list =
with
open
(filename,
"w+"
)as f:
json.dump(names_list,f)
search_username(
)def
search_username()
:"""封裝判斷使用者名稱是否存在並儲存、列印相應內容"""
with
open
(filename,
'r+'
)as f:
names_list = json.load(f)
if(username in names_list)
:print
("welcome back "
+ username +
"!")
else
:with
open
(filename,
'w')
as f:
json.dump(names_list, f)
print
("we'll remember you when you come back, "
+ username +
"!")
filename =
"name.json"
username =
input
("what is name?\n "
)search_file(filename)
執行上述**:
1、第一次輸入新增使用者名稱:chenyi,執行結果如下:
2、第二次輸入已存在使用者名稱:chenyi,執行結果如下:
此時name.json中的內容如下:
python中關於json的使用
匯入json模組 import json 建立乙個字典型別 l dumps可以將字典轉化為字串 jsdumps json.dumps l print type jsdumps jsloads json.loads jsdumps print type jsloads print jsdumps pr...
關於Spring boot檔案json讀取與返回
首先把json檔案存resources下 classpathresource classpathresource new classpathresource json string str ioutils.tostring new inputstreamreader classpathresourc...
Python 讀取json檔案
建立json檔案 1 8 讀取json檔案 1 import json 2 3 def loadfont 4 f open settings.json encoding utf 8 設定以utf 8解碼模式讀取檔案,encoding引數必須設定,否則預設以gbk模式讀取檔案,當檔案中包含中文時,會報...