《python学习:从入门到实践》我仿照书上的一个例子写的。查找用户名,查到就显示,查不到就写入文件。现在用json来存储,只存储一个名字能正常运行。我认为是json没有正确解析,网上找了下也没找到答案。希望大家告诉我,如何修改代码。
import json
def save_name():
print("查无此人,请登记。")
name = input("\n 请输入你的名字:")
with open('name.json','a') as file:
json.dump(name,file)
print("你的名字已经登记"+str(name))
return name
def find_name(fn):
try:
file = open('name.json','r')
except FileNotFoundError:
return save_name()
else:
name = json.load(file)
for i in name:
if fn == i:
return fn
else:
return save_name()
def hello_name():
name = input("\n 请输入你的名字:")
print("欢迎你"+str(find_name(name)))
hello_name()
先去学学json的格式吧,不能用'a'模式一个一个写
open('name.json','a')
,你追加的方式等于每一行是一个json,在一起不符合json格式当然解析报错了