所以我被提出制作一个使用文本文件存储密码的程序,以免忘记密码。文本文件位于下方。(Passwords.txt)
'Application1': ['Username1', 'Password1']
'Application2': ['Username2', 'Password2']
所以,对此我想添加一个新行,它将是: 'Application3':['Username3','Password3'] 但是,当我运行以下代码时,它告诉我一个错误,说str不可调用。 (passwordsappend.py)
hp = open("Passwords.txt","a") #open the file
key = raw_input("Which app: ")
usr = raw_input("Username: ")
psw = raw_input("Password: ") #make variables to add
hp.write('\n\''(key)'\': ''[\''(usr)'\', ' '\''(psw)'\'],') #make it so that it's like the rest of the file
hp.close() #close the file
我正在尝试学习python代码以学习如何,但我看不出问题......有人可以给我建议吗?
答案 0 :(得分:2)
正如在另一个答案中所说,问题是写入文件时的字符串处理。我建议使用字符串格式:
hp.write("\n'%s': ['%s', '%s']" % (key, usr, psw))
推荐代码:
# Ask for variables to add
key = raw_input("Which app: ")
usr = raw_input("Username: ")
psw = raw_input("Password: ")
# Open file
with open("Passwords.txt", "a") as hp:
# Add line with same format as the rest of lines
hp.write("\n'%s': ['%s', '%s']" % (key, usr, psw))
如果您使用with open(...) as ...:
,则无需调用close
方法,当您退出with
的范围时,系统会自动调用该方法。
答案 1 :(得分:0)
您的问题是当您尝试写入文件时。将其更改为
hp.write('\n\'' + key + '\': ''[\'' + usr + '\', ' '\'' + psw +'\']')