python基础语法--json存储数据

import json
# with open("C:\\Users\\yahui.zhao\\Desktop\\aaa666.json","w") as jsonfile:
#     users = '[{"uname":"zhangsan","upwd":"123"},{"uname":"lisi","upwd":"123"},{"uname":"wangwu","upwd":"123"}]'#不要忘了最外面的单引号
#     jsonfile.write(users)
#上面的程序运行一次生成文件即可,不然再次运行文件会被覆盖
# json文件一定要用程序生成,不然接着运行会报错

def readjson(dizhi):
    with open(dizhi,"r") as jsondata1:
       jsondata=jsondata1.read()
    pythondata=json.loads(jsondata)
    return pythondata
def writejson(pythondata3,dizhi1):
    jsondata1=json.dumps(pythondata3)#必须得有这一步写入后才是json文件哦
    print("最终写入的值类型",type(jsondata1))
    with open(dizhi1,"w") as jsondata:
        jsondata.write(jsondata1)
    #     zuizhong=jsondata.write(jsondata1)#write()函数最终是不能被赋值的,要想赋值得先read出来
    # print(zuizhong)
def denglu():
    nameisin=0
    username=input("请输入用户名")
    userpwd=input("请输入密码")
    pythonuser=readjson("C:\\Users\\yahui.zhao\\Desktop\\aaa666.json")
    for user1 in pythonuser:
        if username==user1["uname"]:
            if userpwd==user1["upwd"]:
                nameisin=1
                print("登录成功")
    if nameisin==0:
        print("登录失败")

def adduser():
    username1=input("请输入用户名")
    userpwd1=input("请输入密码")
    dictuser1={"uname":username1,"upwd":userpwd1}
    pythondatas=readjson("C:\\Users\\yahui.zhao\\Desktop\\aaa666.json")
    print("打印前的字符串",pythondatas)
    print(type(pythondatas))
    pythondatas.append(dictuser1)#append函数不能被赋值,添加到列表后没有返回
    print("要输入的词",pythondatas)
    writejson(pythondatas, "C:\\Users\\yahui.zhao\\Desktop\\aaa666.json")
    pythondatas3=readjson("C:\\Users\\yahui.zhao\\Desktop\\aaa666.json")
    print("最后",pythondatas3)

if __name__=='__main__':
    denglu()
    adduser()


猜你喜欢

转载自blog.csdn.net/qq_40333984/article/details/125501876
今日推荐