为什么我的文件内容在我尝试阅读时被删除了?打开函数 python

Why is content of my file deleted when i try to read it? open function python

好的,伙计们,我对编程还很陌生。我想通了,我可以学习编写一些东西,这可能在未来真正有用,所以我编写了这段代码。我试图给自己 2 个选项 1 登录和 2 注册。当我注册一切正常时,它将我的文本加密为 sha256 并将其写入文件,但是当我尝试“登录”时,打开读取功能会删除文件 Login.txt 的内容,因此逻辑上检查失败。提前谢谢你。

import hashlib



#Creating file to save token into.
login_file = open("Login.txt", "w")



def register():
     print("Please insert your token:")
     reg_token = input()
     #Encrypting and writing token into file.
     login_file.write(hashlib.sha256(reg_token.encode()).hexdigest())
     login_file.close()
     print("Registration completed.")




def login():
    token_file = open("Login.txt", "r").read()
    print("Please login with your token:")
    log_token = input()
    #Calculating hash for input.
    hash = hashlib.sha256(log_token.encode()).hexdigest()
    #Comparing hashes.
    if hash == token_file:
        print("Success!")

    if hash != token_file:
        print("Login was unsuccessful.")




def prompt():
    print("For login type 1. For registration type 2.")
    prompt_input = input()
    if prompt_input == "1":
        login()
    if prompt_input == "2":
        register()


###############################################################################

prompt()
  1. 您第一次打开文件的行应该在 register() 函数内。

  2. open() 的第二个参数决定文件的处理方式。 ”w” 先删除内容。 ”a” 将允许您附加到文件。