python 3 - 寫一個註冊的程序,帳號和密碼都存在文件裏面

choice = input('請輸入你的選擇:1,註冊二、刪除用戶三、登陸')
#註冊
輸入
帳號
密碼
密碼確認
# #須要校驗用戶是否存在,兩次輸入的密碼,是否一致,爲空的狀況
#帳號和密碼都存在文件裏面
#刪除
輸入一個用戶名
#須要校驗用戶是否存在
#登陸
輸入帳號密碼登陸app

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+'\n')
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("輸入有誤!")
spa

 

 總結:ip

1. input

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

由於文件中每行讀出的內容是個list,同時包含用戶名和密碼,因此首先須要把用戶名單獨取出來,放到一個list中,以備後面使用class

 

2. 登錄

lineNum=allUser.index(deluser)
密碼

刪除用戶時,須要找到該用戶所在的行數,從文件中刪除該行。由於username存在一個list中,且是按照讀取的順序存下來的,因此找到usernam在allUser這個list中的位置,便是找到該username在文件中所在的行數總結

 

3. margin

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從新寫入文本中。若沒有從新寫入,顯示的還是原來的文本。

相關文章
相關標籤/搜索