import getpass #引入getpass模块,主要用来输入密码关闭回显
f=open('d:/user','a+') #定义文件对象并以追加方式打开,不存在就创建
f.seek(0) #文件指针指向开头
user=[] #定义一个空的列表,存用户名
for lien in f: #循环读取文件
user.append(lien.split(',')[0]) #以逗号分割读取的每行内容并把第一个下标(用户名)存到之前定义的列表里
print('欢迎使用文件注册系统'.center(50,'*')) #输出欢迎信息
for i in range(3): #循环3次
name=input('请输入用户名:\n').strip() #获取用户输入的用户名并过滤空格
passwd=getpass.getpass('请输入密码:\n').strip() #获取用户输入的密码并过滤空格,关闭密码回显
passwd2=getpass.getpass('请再次输入密码:\n').strip()
if name=='' or passwd=='' or passwd2=='': #判断用户名和密码是否为空
print('用户名或密码不能为空')
elif name in user: #判断用户名是否存在
print('用户名已存在')
else:
if passwd==passwd2: #判断输入两次密码是否一致,如果一致则注册成功
print('恭喜你,%s注册成功!'%name)
f.write(name+','+passwd+'\n') #用户名和密码写入文件并以逗号分隔
f.close() #关闭文件
break #循环结束
else:
print('两次密码输入不一致')
else: #循环执行完,输出错误信息
print('输入错误次数过多,请明天再试!')
f.close() #关闭文件