Python实现用户注册到文件

复制代码
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()   #关闭文件
复制代码

 

posted @   小郗测试  阅读(782)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示