# coding = UTF-8 注释格式 import datetime 引用日期 today = datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S") # 获取到今天的日期,并限定日期格式 # 错误次数3次 for i in range(3): username = input('请输入你的用户名:').strip() 去除输入值中的空格 passwd = input('请输入你的密码:').strip() cpasswd = input('请再次输入你的密码:').strip() file = open('newname.txt','r',encoding='utf-8') 打开文件,文件与运行代码在同意目录时不用加绝对路径,执行文件显示格式 r只读 r+读写 ; 指针在文件开始 w写 w+写读 ; 创建,覆盖,指针在文件开始 a追加写入不可读 a+追加写入 ; 创建 指针在文件尾 根据文件指针判断是否加“file.seek(0)”,将指针移到文件开始位置 done = 0 data = {} 定义一个字典 while not done: 循环读取每一行,若为空则退出循环 aLine = file.readline() if(aLine != ''): #print(aLine) bline = aLine.split(',') 将读取的值根据‘,’切割 #print(bline) # k=bline[0] # v=bline[1] # print(k) # print(v) data[bline[0]]=bline[1].strip('\n') 将读取到的k,v形式存入data字典 #data.setdefault(bline) else: done = 1 file.close() #关闭文件 #print(data) if not username or not passwd or not cpasswd: print('账号或密码不能为空,请重新输入:') # 判断账号密码是否为空 elif username in data: print('账号已注册,请登录!') # 判断账号是否已存在 elif passwd != cpasswd: print('密码不一致,请重新输入') # 判断密码是否一致 elif len(passwd) < 6 or len(passwd) > 12: print("密码长度必须6-12位") # 判断密码长度 else: reg = open('newname.txt','a+',encoding='utf-8') 打开文件准备追加输入 # users = [username,passwd] users =username+','+passwd+'\n' 拼接数据加上换行符号 #print(users) #users_s = [str(n) for n in users] reg.writelines(users) 将users拼接数据写入文件 reg.seek(0) 将指针放置初始位置,查看是否写入成功 #print('read',reg.readlines()) reg.close() # users.append(username) # passwd.append(passwd) print('恭喜%s注册成功,今天的日期是%s' % (username, today)) break # 注册成功,退出