基于csv的用户注册

Python中如何基于csv让用户注册信息?

  1. 先实现路径处理,让每个系统都能够找到文件并且运行
  2. 实现用户注册:让用户选择是否注册,否则break循环,是则通过a的模式打开csv文件让用户输入信息并写到文件中
  3. 用户登录:判断文件是否存在,当文件存在时才可以继续登陆,通过r的模式打开文件并进行相应的比较
import os

# 路径处理
base_dir = os.path.dirname(os.path.abspath(__file__))
db_file_path = os.path.join(base_dir, "db.csv")

# 用户注册
while True:
	
    choice = input("是否进行用户注册(Y/N)?")
    choice = choice.upper()
    if choice not in {'Y', 'N'}:
        print("输入格式错误,请重新输入")

    if choice == 'N':
        break

    with open(db_file_path, mode='a', encoding='utf-8') as file_object:
        while True:
            user = input("请输入用户名(Q/q):")
            if user.upper() == 'Q':
                break
            pwd = input("请输入密码:")
            file_object.write('{},{}\n'.format(user, pwd))
            # 立即将内存数据刷到硬盘
            file_object.flush()
    break

# 用户登录
print('欢迎来到xx系统,请登录!')
username = input("请输入用户名:")
password = input("请输入密码:")

# os模块判断文件是否存在
if not os.path.exists(db_file_path):
    print("用户文件不存在")
else:
    with open(db_file_path, mode='r', encoding='utf=8') as file_object:
        for line in file_object:
            user, pwd = line.strip().split(',')
            if username == user and pwd == password:
                print('登陆成功')
        else:
            print('用户名密码填写错误')

注意:write()方法只是将内容写到了缓冲区

flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值