# 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
# 注册成功,退出