前言
1、常用的文件操作无非就是读或写,但python中没有提供文件修改的功能,是无法实现,但我们可以新增-删除源文件-更改新增文件为源文件名称。
2、使用文件的存储与读取方式来简单完成注册、登录功能,需求如下:
1.注册,设置的账号密码用文件存储;
2.登录,读取账号密码判断,错误三次机会并提醒;
一、新增-删除源文件-更改新增文件为源文件名称
1、文件内容如下,需要将“欣欣”修改为“小龙”。
2、运用os模块,删除源文件、更改新文件名称为源文件名称即可。(感觉就像修改文件一样)
f = open('log1', encoding='utf-8') f1 = open('log1.bak', 'w+', encoding='utf-8') with f, f1: for i in f: if '欣欣' in i: i = i.replace('欣欣', '小龙') # 更改为小龙 f1.write(i) # 写入f1文件中 import os os.remove('log1') # 删除源文件 os.rename('log1.bak', 'log1') # 更改文件名称
3、查看文件是已经更改了(实际上是新增了一个文件)
二、注册登录练习:
# 注册 while 1: user = input("请输入你的手机号进行注册:") pwd1 = input('请设置你的登录密码:') pwd2 = input('请再次输入设置登录的密码:') if pwd1 == pwd2: with open('user', 'w', encoding='utf-8') as f: f.write('%s %s' % (user, pwd1)) print('恭喜您:%s 账号注册成功!' % user) break elif pwd1 != pwd2: print('两次输入的密码不一致,请重新输入') # 三次机会登录 lis = [] count = 3 while 1: u = input('请输入你的账号:') p = input('请输入你的密码:') # 读取账号密码 with open('user', 'r+', encoding='utf-8') as user_pwd: for i in user_pwd: lis.append(i) if u == lis[0].strip() and p == lis[1].strip(): print('登录成功') break else: if count == 0: print('你的密码已被锁定') break else: print('账号或密码错误,剩余%s次机会' % count) count = count - 1
当然你有更好的办法欢迎留言交流!!!欢迎来QQ交流群:482713805