zoukankan      html  css  js  c++  java
  • python 3

    choice = input('请输入你的选择:1,注册2、删除用户3、登录')
    #注册
    输入
    账号
    密码
    密码确认
    # #需要校验用户是否存在,两次输入的密码,是否一致,为空的情况
    #账号和密码都存在文件里面
    #删除
    输入一个用户名
    #需要校验用户是否存在
    #登录
    输入账号密码登录

    choice = input("请输入您的选择:1.注册2.删除用户 3.登录").strip()
    f = open("register.txt",'a+')
    f.seek(0)
    allUser = []
    for user in f.readlines():
        uname = str(user).split(',')[0] #从文件中取int("username:"+uname)
       
    allUser.append(uname)
    print("alluser:"+str(allUser))
    if choice == '1':
        username = input("please input username: ").strip()
        if username in allUser:
            print("该用户名已经被注册!")
        else:
            pwd = input("please input your password:")
            pwd2 = input("please confirm your password:")
            if pwd != pwd2 or pwd.strip()=="" or pwd2.strip()=="":
                print("两次输入密码需保持一致且密码不能为空!")
            else:
                f.write(username+','+ pwd+' ')
    elif choice == '2':
        deluser = input("please input the name you want to delete:")
        if deluser in allUser:
            print("==========")
            #找到该用户所在的行数
           
    lineNum=allUser.index(deluser)
            print("Linenum:"+str(lineNum))
            f.seek(0)
            lines = f.readlines()
            lines[lineNum] ="" #删除文件中该行内容
           
    print(lines)
            with open("register.txt","w") as f1:
                for line in lines:
                    f1.write(line)
        else:
            print("该用户不存在!")
    elif choice == '3':
        user = input("please input your name:")
        passwd = input("please input your password:")
        print("登录成功")
    else:
        print("输入有误!")

     总结:

    1. 

    uname = str(user).split(',')[0] #从文件中取int("username:"+uname)

    因为文件中每行读出的内容是个list,同时包含用户名和密码,所以首先需要把用户名单独取出来,放到一个list中,以备后面使用

    2. 

    lineNum=allUser.index(deluser)

    删除用户时,需要找到该用户所在的行数,从文件中删除该行。因为username存在一个list中,且是按照读取的顺序存下来的,所以找到usernam在allUser这个list中的位置,即是找到该username在文件中所在的行数

    3. 

    f.seek(0)
    lines = f.readlines()
    lines[lineNum] ="" #删除文件中该行内容
    print(lines)
    with open("register.txt","w") as f1:
        for line in lines:
            f1.write(line)

    删除改行,需要将改行的内容变为空,同时将删除该行内容后的lines重新写入文本中。若没有重新写入,显示的仍是原来的文本。

  • 相关阅读:
    利用django创建一个投票网站(二)
    利用django创建一个投票网站(一)
    django models进行数据库增删查改
    用pyspider爬淘宝MM照片
    爬虫实现模拟登陆豆瓣
    python-study-32
    python-study-31
    python-study-30
    python-周考2
    python-周考3
  • 原文地址:https://www.cnblogs.com/yuanchunli/p/8797117.html
Copyright © 2011-2022 走看看