代码之家  ›  专栏  ›  技术社区  ›  Spaghetti

在IF语句中可以使用Python writeline()吗?

  •  0
  • Spaghetti  · 技术社区  · 1 年前

    我正在尝试制作一个简单的密码管理器。这是我添加密码的功能: ]

    def add():
        
        cont=input("You would like to add a password? (y/n)")
        if cont.capitalize() == "Y":
            passwords = open("Passwords.txt","a")
            username_ = input("What is the username?")
            password_ = input("What is the password?")
            L = [username_, " ", password_]
            if(passwords.writelines(L)):
                print("Written successfully!")
                print("Quiting to option select...\n")
                main()
            else:
                print("Hmm. That didn't seem to work.")
                main()
        else:
            print("Quiting to option select...\n")
            main()
        
    

    当我尝试添加新密码时,我总是收到“嗯,这似乎不起作用。”。这样做的预期功能是,如果写入了密码,那么它将表示写入成功。在这种情况下书写意味着附加,因此在打开文件时使用“a”。

    我试着使用 sudo 运行它,但这不是问题所在。我试着把追加改为“w”。

    2 回复  |  直到 1 年前
        1
  •  2
  •   Spaghetti    1 年前

    您可以使用try-except方法。

    try:
        passwords.writelines(L)
    except:
        print("Hmm. That didn't seem to work")
    else:
        print("Written successfully!")
        print("Quiting to option select...\n")
    

    此外,你可以 尝试 使用check_output(),但我不知道写线是否可以使用它。

        2
  •  1
  •   a_confused_student    1 年前

    writeLines没有任何返回值,因此在if语句中使用时没有任何值:)

    https://python-reference.readthedocs.io/en/latest/docs/file/writelines.html

    推荐文章