用戶關閉程序時,你幾乎總是要保存他們提供的信息;一種簡單的方式是使用模塊JSON來存儲數據。存儲到內存中,即數據內容存本地,完成數據讀寫
模塊JSON讓你能夠將簡單的Python數據結構轉儲到文件中(存本地),並在程序再次運行時加載該文件中的數據。你還可以使用JSON在Python程序之間分享數據。
實例例舉:在用戶登錄時,存儲用戶輸入的用戶名與密碼,在用戶下一次登入時,根據用戶名調用JSON存儲中的密碼,實現用戶的自動登錄或記住密碼。
#JSON數據格式並非Python專用的,這讓你能夠將以JSON格式存儲的數據與使用其他編程語言的人分享。
使用JSON模塊之前,需將該模塊進行導入 import json
(1)JSON存儲(寫入)
import json
numbers = [2, 3, 5, 7, 11, 13] #存儲內容種類多樣,可以任意類型
filename = 'numbers.json' #文件路徑 一般文件對象類型為json文件
with open(filename, 'w') as f_obj:#打開模式為可寫
json.dump(numbers, f_obj) #存儲文件
【語法】:
json.dump(需存儲的數據內容,可用於存儲數據的文件對象(需打開後的文件))
(2)JSON內容讀取
import json
filename = 'numbers.json' #文件路徑 一般文件對象類型為json文件
with open(filename) as f_obj:
numbers = json.load(f_obj) #讀取文件
print(numbers)
【語法】
json.load(需讀取的文件對象(需打開後的文件))
(3)保存和讀取用戶生成的數據 ==》(內容存本地,方便讀取)
對於用戶生成的數據,使用json 保存它們大有裨益,因為如果不以某種方式進行存儲,等程序停止運行時用戶的信息將丟失。下面來看一個這樣的例子:用戶首次運行程序時 被提示輸入自己的名字,這樣再次運行程序時就記住他了。
import json
# 如果以前存儲了用戶名,就加載它
# 否則,就提示用戶輸入用戶名並存儲它
filename = 'username.json'
try:
with open(filename) as f_obj:
username = json.load(f_obj)#加載數據
except FileNotFoundError:
username = input("What is your name? ")
with open(filename, 'w') as f_obj:
json.dump(username, f_obj) #存儲數據
print("We'll remember you when you come back, " + username + "!")
else:#若為捕捉到異常,執行語句段
print("Welcome back, " + username + "!")