python 登陆程序修改

LOGIN={"PREMI":False}  #标记用户是否登陆
BLOGIN={}  #存放用户信息数据
bjm=''    #标记名字

不足之处:一次只能修改一个用户信息,文件操作方法应该优化。。。无奈初学。。只能写成这样。。


def outer(fucn):                             #装饰器,用于判断用户是否登陆
def inner (*args,**kwargs):
if LOGIN['PREMI']==True:
return fucn(*args,**kwargs)
else:
print "请先登陆,后操作!"
main()
return inner


def zc():                        #注册函数
name_list=[]
k=0
with open (r"G:\py_code\h.txt","r") as f:
for line in f:
ast=line.strip().split('|')[0]
name_list.append(ast.lower())
i=['name','password','email','tel','address','tpy']
while k<len(i):
print "请输入%s:"%(i[k])
c=raw_input('')
BLOGIN[i[k]]=c.lower()
if c in name_list or c.strip()=='\n':
print "用户名已被注册或输入错误,请重新输入!"
else:
k+=1
with open (r"G:\py_code\h.txt","a") as f:
list=[]
for k in i:
list.append(BLOGIN[k])
ast='|'.join(list)
f.write(ast+'\n')
LOGIN['PREMI']=True
print "恭喜,注册成功!"


def dl(usn,pw):                         #登陆函数
name_list=[] 
bjm=usn
with open (r"G:\py_code\h.txt","r") as f:
for line in f:
name_list.append(line.strip().split('|')[0:2])
list=[]
list.append(usn)
list.append(pw)
if list not in name_list:
print "用户名和密码不存在,请重新登录,或注册后使用!"
main()
else:
print "登陆成功,欢迎%s使用。。。"%(usn)
LOGIN['PREMI']=True
with open (r"G:\py_code\h.txt","r") as f:
for line in f:
if usn == line.strip().split('|')[0]:
BLOGIN['name']=line.strip().split('|')[0]
BLOGIN['password']=line.strip().split('|')[1]
BLOGIN['email']=line.strip().split('|')[2]
BLOGIN['tel']=line.strip().split('|')[3]
BLOGIN['address']=line.strip().split('|')[4]
BLOGIN['tpy']=line.strip().split('|')[5]
break
print """请输入您需要的操作:
1.查看
2.修改
3.删除"""
c=raw_input("请输入:")
if c == '1':
ck(bjm)
elif c == '2':
xg(bjm)
elif c == '3':
sc()
else:
print "输入错误,请重新输入"

@outer                                            #启用装饰器
def xg(bjm):                                     #修改函数
i=['name','password','email','tel','address','tpy']
flag=1
with open (r"G:\py_code\h.txt","r") as f:
for line in f:
if bjm == line.strip().split('|')[0] and line.strip().split('|')[-1] == 'c':
BLOGIN['name']=line.strip().split('|')[0]
BLOGIN['password']=line.strip().split('|')[1]
BLOGIN['email']=line.strip().split('|')[2]
BLOGIN['tel']=line.strip().split('|')[3]
BLOGIN['address']=line.strip().split('|')[4]
print "%s先生/女士,您不是VIP用户,只能修改个人信息."
while flag:
c=raw_input("请输入您需要修改的个人信息内容1.姓名 2.密码 3.Email 4.电话 5.地址")
b=int(c)
print "请输入%s的新信息:"%(i[b])
BLOGIN[i[b-1]]=raw_input()
c=raw_input("修改成功,是否确定提交还是继续修改?")
if c.lower()== 'y':
continue
else:
flag=0
tj(bjm)
elif bjm ==line.strip().split('|')[0] and line.strip().split('|')[-1] == 'v':
print "尊敬的vip用户,请问输入您需要修改的用户信息"
d=raw_input("修改:")
bjm=d
with open (r"G:\py_code\h.txt","r") as f:
for line in f:
if d == line.strip().split('|')[0]:
BLOGIN['name']=line.strip().split('|')[0]
BLOGIN['password']=line.strip().split('|')[1]
BLOGIN['email']=line.strip().split('|')[2]
BLOGIN['tel']=line.strip().split('|')[3]
BLOGIN['address']=line.strip().split('|')[4]
BLOGIN['tpy']=line.strip().split('|')[5]
while flag:
c=raw_input("请输入您需要修改的个人信息内容1.姓名 2.密码 3.Email 4.电话 5.地址 6.权限")
b=int(c)
print "请输入%s的新信息:"%(i[b-1])
BLOGIN[i[b-1]]=raw_input()
c=raw_input("修改成功,是否确定提交还是继续修改?")
if c.lower()== 'y':
continue
else:
flag=0
tj(bjm)

 

@outer                             #装饰器
def ck(bjm):      #查看函数
with open (r"G:\py_code\h.txt","r") as f:
for line in f:
if bjm == line.strip().split('|')[0] and line.strip().split('|')[-1] == 'c':
BLOGIN['name']=line.strip().split('|')[0]
BLOGIN['password']=line.strip().split('|')[1]
BLOGIN['email']=line.strip().split('|')[2]
BLOGIN['tel']=line.strip().split('|')[3]
BLOGIN['address']=line.strip().split('|')[4]
BLOGIN['tpy']=line.strip().split('|')[5]
print BLOGIN.items()
break
elif bjm ==line.strip().split('|')[0] and line.strip().split('|')[-1] == 'v':
print "尊敬的vip用户,请问输入您需要查看的用户信息"
d=raw_input("查看:")
with open (r"G:\py_code\h.txt","r") as f:
for line in f:
if d == line.strip().split('|')[0]:
BLOGIN['name']=line.strip().split('|')[0]
BLOGIN['password']=line.strip().split('|')[1]
BLOGIN['email']=line.strip().split('|')[2]
BLOGIN['tel']=line.strip().split('|')[3]
BLOGIN['address']=line.strip().split('|')[4]
BLOGIN['tpy']=line.strip().split('|')[5]
print BLOGIN.items()




@outer
def sc():                 #删除
if BLOGIN['tpy']=='v':
c=raw_input("请输入您想删除的用户数据")
with open (r"G:\py_code\h.txt","r") as f1,open (r"G:\py_code\h1.txt","w") as f2:
for line in f1:
if c == line.strip().split('|')[0]:
f2.write('')
continue
else:
f2.write(line)
else:
print "sorry,您没有这个权限"

def tj(bjm):
name_list=[]
i=['name','password','email','tel','address','tpy']
for s in i:
name_list.append(BLOGIN[s])
ast='|'.join(name_list)
with open (r"G:\py_code\h.txt","r") as f1,open (r"G:\py_code\h1.txt","w") as f2:
for line in f1:
if bjm == line.strip().split('|')[0]:
f2.write(ast+'\n')
continue
else:
f2.write(line)

@outer
def qxts():
pass


def main():
print """欢迎来到本程序,本程序主要功能为注册登录,以及文件操作:
1.注册
2.登录
3.修改
4.查看
5.删除
6.权限提升"""
c=raw_input('请选择:')
if c == '1':
zc()
elif c == '2':
usn=raw_input('姓名:')
pw =raw_input("密码:")
dl(usn,pw)
elif c == '3':
xg(bjm)
elif c == '4':
ck(bjm)
elif c == '5':
sc()
elif c == '6':
qxts()
else:
print "输入错误,请重新输入"
main()


main()

转载于:https://www.cnblogs.com/yebin17937901/p/7499542.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值