zoukankan      html  css  js  c++  java
  • 面向对象之登录与修改密码

    # 任务:定义一个用户类,用户名和密码是这个类的属性,实例化两个用户,分别有不同的用户名和密码
    # 登陆成功之后才创建用户对象
    # 设计一个方法 修改密码
    import os
    def login(name,pwd,filepath='userinfo.txt'):
    with open(filepath,encoding='utf-8') as f:
    for line in f:
    username,password=line.strip().split('|')
    if username==name and password==pwd:
    return True
    else:return False

    class User:
    def __init__(self,username,password):
    self.username=username
    self.password=password

    def change_pwd(self):
    oldpwd=input('请输入原密码:') #输入原密码,验证后再修改,常规!
    newpwd=input('请输入新密码:')
    flag=False
    with open('userinfo.txt',encoding='utf-8') as f1, open('userinfo_bak','w',encoding='utf-8') as f2:
    for line in f1:
    username,password=line.strip().split('|')
    if username==self.username and password==oldpwd:
    line='%s|%s '%(username,newpwd) #注意此处必须加' ',否则不换行。
    flag=True
    f2.write(line)
    os.remove('userinfo.txt')
    os.rename('userinfo_bak','userinfo.txt')
    return flag

    name=input('请输入用户名:>>>')
    pwd=input('请输入密码:>>>')
    ret=login(name,pwd)
    if ret:
    print('登录成功!') #登录成功,才开始实例化。
    obj=User(name,pwd)
    res=obj.change_pwd()
    if res:
    print('密码修改成功!')
    print(obj.__dict__) #通过对象名.__dict__就可以查看这个对象的属性和值
  • 相关阅读:
    目标检测中roi的有关操作
    JavaScript高级程序设计读后感(一)
    手机app后台初学
    DTO数据传输对象
    数据库设计系列之四--ER图
    数据库设计系列之三
    数据库设计系列之二
    数据库设计系列之一
    Linux命令大全
    Linux登录密码修改
  • 原文地址:https://www.cnblogs.com/qqq789001/p/13378739.html
Copyright © 2011-2022 走看看