PYTHON-文件处理-练习

时间:2023-03-10 07:27:26
PYTHON-文件处理-练习
#
# 一、实现用户注册功能
# 思路:
# 用户输入用户名、密码
# 将用户输入的内容按照固定的格式,比如:egon:123,存入文件
# 可以往一个文件中重复注册新的用户名和密码
# 附加:
# 1、对输入的用户名进行合法性监测,不能以数字开头,且如果输入的用户名已存在于文件中则要求用户重新输入
# 2、对输入的密码进行合法性监测,密码的长度至少6位,并且不能包含特殊字符*&$
# y=[]
# print('注册请填写以下信息')
# tag=True
# with open(r'db.txt', mode='rt', encoding='utf-8')as x:
# for data_name in x:
# d_name = data_name.strip('\n').split(':')
# y.append(d_name[0])
# # print(y)
# while tag:
# name = input('username>>>').strip()
# if name[0].isdigit():
# print('不能以数字开头,请重新输入')
# continue
# if name in y:
# print('已被注册,请重新输入')
# continue
# while tag:
# pwd = input('password>>>').strip()
# if len(pwd)<6:
# print('密码的长度至少6位')
# continue
# if pwd.find('$') != -1:
# print('不能包含特殊字符*&$')
# continue
# else: print('注册成功')
# with open(r'db.txt', mode='at', encoding='utf-8')as f:
# data = '%s:%s\n' % (name, pwd)
# f.write(data)
# tag = False # 二、实现用户验证功能更:
# 思路:
# 用户输入账号密码,从文件中读出账号密码,与用户输入的进行比对
# 附加:新建黑名单文件,同一个账号名输错三次则将用户名写入黑名单文件中,
# 如果用户输入的用户名存在于黑名单中则直接退出 # y=[]
# z=[]
# b=[]
# tag=True
# count=0
# with open(r'db.txt', mode='rt', encoding='utf-8')as x,open(r'black.txt', mode='rt', encoding='utf-8')as a:
# for data_name in x:
# d_name = data_name.strip('\n').split(':')
# y.append(d_name[0])
# z.append(d_name[1])
# for data_black_name in a:
# b_name = data_black_name.strip('\n')
# b.append(b_name)
# while tag:
# name=input('username>>>').strip()
# if name in b:
# print('黑名单用户')
# break
# if name not in y:
# print('用户名不存在')
# continue
# while tag:
# pwd = input('password>>>').strip()
# if count>=2:
# print('输错三次,已列为黑名单')
# with open(r'black.txt',mode='at',encoding='utf-8') as f:
# f.write('%s\n' %name)
# tag = False
# break
# if pwd not in z:
# print('密码不存在')
# count+=1
# else:
# print('登录成功')
# tag=False # y=[]
# z=[]
# b=[]
# tag=True
# count=0
# with open(r'db.txt', mode='rt', encoding='utf-8')as x,open(r'black.txt', mode='rt', encoding='utf-8')as a:
# for data_name in x:
# d_name = data_name.strip('\n').split(':')
# y.append(d_name[0])
# z.append(d_name)
# print(z)
# for data_black_name in a:
# b_name = data_black_name.strip('\n')
# b.append(b_name)
# while tag:
# name=input('username>>>').strip()
# if name in b:
# print('黑名单用户')
# break
# if name not in y:
# print('用户名不存在')
# continue
# while tag:
# pwd = input('password>>>').strip()
# if count>2:
# print('输错三次,已列为黑名单')
# with open(r'black.txt',mode='at',encoding='utf-8') as f:
# f.write('%s\n' %name)
# tag = False
# break
# if [name,pwd] not in z:
# print('密码不存在')
# count+=1
# else:
# print('登录成功')
# tag=False