求助,python使用with open书写后应该如何读取

第一次在上写博客 这次的目的主要是看看各位大佬百忙之中能否抽点空解决一下我的问题 我的问题是:我已用with open讲列表写入json,但是不知道应该怎么读取出来,放在什么位置。 下面是我写的源码: import sys from prettytable import PrettyTable import hashlib import json

books = [] books1 = [] users = [] list = [] flag = False

def register(): name = input(‘请输入您的账号’) pwd = input(‘请输入您的密码’) m = hashlib.md5() m.update(‘爸爸’.encode(‘utf-8’)) m.update(pwd.encode(‘utf-8’)) m.update(‘是我’.encode(‘utf-8’)) res = m.hexdigest() dict = {name: res} with open(‘密码.json’, ‘a’, encoding=‘utf-8’) as f: json.dump(dict, f) print(’33[0;32m注册成功!33[0m’)

def login(): name = input(‘请输入您的账号’) pwd = input(‘请输入您的密码’) m = hashlib.md5() m.update(‘爸爸’.encode(‘utf-8’)) m.update(pwd.encode(‘utf-8’)) m.update(‘是我’.encode(‘utf-8’)) res = m.hexdigest() dict = {name: res} with open(‘密码.json’, ‘r’, encoding=‘utf-8’) as f: data = json.load(f) if name in data: if res == data[name]: print(’33[0;32m登录成功!33[0m’) flag = True fun() else: print(’33[0;31m用户名或密码错误!请重新登录!33[0m’)

def main(): while True: print(’ ’) print(‘欢迎来到爱心雨伞管理系统’) print(’************** 1.Log in ’) print( 2.Register ’) print( 0.Exit ***************’) num = int(input(‘请输入对应的数字:’)) if num == 1: login() elif num == 2: register() elif num == 0: print(’33[0;36m再见!33[0m’) sys.exit(0) else: print(’33[0;31m输入错误!请重新输入!33[0m’) except ValueError: print(’33[0;31m输入错误!请重新输入!33[0m’)

main()

经验分享 程序员 微信小程序 职场和发展