所以我有这个登录系统,他们可以进入他们最喜欢的艺术家和流派。这会保存到文本文件中。但我知道我需要一个选择,他们可以改变他们最喜欢的艺术家和流派。这是目前为止的代码。用户信息存储在同一行的文本文件中
def registerUser():
usrFile_write = open(textfile, "a")
usrFile_write.write("\n" + username + ":" + password + ":" + date + ":" favArtist + ":" + favGenre + ":")
print("New Account Created!\n")
usrFile_write.close()
Menu()
def change():
menu=input("Change account preferences? (y/n")
if menu == "yes":
NewA=input("What is your new favorite artist...")
NewG=input("What is your new favorite genre...")
FavAG = open("user_DB.txt","w")
FavAG.write (NewA)
FavAG.write ("\n")
FavAG.write (NewG)
FavAG.close()
首先,在处理文件时应该始终使用
with
语句。这样做的好处有据可查。因此:变成:
现在,在纯文本文件中工作时,不能真正编辑特定行。为了更新现有用户条目,您必须删除现有条目并在其位置创建一个新条目。这需要通读文件并重写整个内容,除了特定的行。您可以将其放入一个通用的
deleteUser
函数中,以便以后重用:然后,要修改用户,请删除他们的条目,然后使用新信息创建一个新条目
这应该能暂时解决你的问题。从长远来看,我建议考虑使用像sqlite这样的数据库,这项工作更适合它
相关问题 更多 >
编程相关推荐