python 重构和JSON数据解析

看到一个重构的例子,还能重温json数据解析
#
def GreetUser(): # filename = '/Users/zhangxl/Desktop/union.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(username) # else: # print("Welcome to " + username) def get_stored_username(): filename = '/Users/zhangxl/Desktop/union.json' try: with open(filename) as f_obj: username = json.load(f_obj) except FileNotFoundError: return None else: return username def get_new_username(): username = input("What is your name?:") filename = '/Users/zxl/Desktop/union.json' with open(filename,'w') as f_obj: json.dump(username,f_obj) return username def greet_user(): username = get_stored_username() if username: print("Welcome back ," + username ) else: username = get_new_username() print("We will remember you when you come back" + username) greet_user()

遇到问题:当文件内容为空是,会报错 。带运行一次后,我删除:union.json 文件内容,报错:raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0),所以我添加了一个ValueError

原文地址:https://www.cnblogs.com/z977690557/p/14277088.html