文件中的文本未更新

问题描述 投票:0回答:1
import os
from time import sleep
import maskpass
password_check = False
re_enter_pass = True
while password_check == False:
    while re_enter_pass == True:
        user_name = str(input("Hello person, what would you like your username to be? \n"))
        password = maskpass.askpass(mask="")
        if len(user_name) and len(password) != 0:
            f = open("User_Data.txt","a") 
        if len(password) < 8:
            print("Please enter a password with 8 minimum letters.\n")
        else:
            f.write(f"{user_name}; {password}\n")
            print("Password stored.")
            sleep(2)
            os.system('cls')
            sleep(2)
            re_enter = input("Would you like to enter a new password? (Y/N)\n")
            if re_enter == "Y":
                re_enter_pass = True
                os.system('cls')
            elif re_enter == "N":
                re_enter_pass = False
                password_check = True
                break


    

为什么文本文件中的用户名和密码变量没有更新?

它以前可以工作,但我觉得我搞砸了 while 循环。我期望它使用这种格式“{用户名};{密码}”在文本文件中附加用户名和密码。

python file-handling
1个回答
0
投票

尝试这样

import os
from time import sleep
import maskpass

password_check = False
re_enter_pass = True

# Open the file once before the loop starts
with open("User_Data.txt", "a") as f:
    pass

while not password_check:
    while re_enter_pass:
        user_name = str(input("Hello person, what would you like your username to be? \n"))
        password = maskpass.askpass(mask="")

        if len(user_name) > 0 and len(password) >= 8:
            with open("User_Data.txt", "a") as f:
                f.write(f"{user_name}; {password}\n")
            print("Password stored.")
            sleep(2)
            os.system('cls')
            sleep(2)
            re_enter = input("Would you like to enter a new password? (Y/N)\n")
            if re_enter == "Y":
                os.system('cls')
            elif re_enter == "N":
                re_enter_pass = False
                password_check = True
                break
        else:
            print("Please enter a valid username and password.\n")

# Rest of your code...
© www.soinside.com 2019 - 2024. All rights reserved.