为了账号安全,请及时绑定邮箱和手机立即绑定

Python 类将空行添加到最后一个值

Python 类将空行添加到最后一个值

拉莫斯之舞 2022-12-14 20:33:38
我正在尝试用 python 编写一个登录程序。我正在尝试读取用户名、电子邮件和密码并将其添加到文本文件中。读取文件时,我正在使用一个类来使用用户名等创建帐户,并将它们存储在我的用户 [] 列表中,以便我可以使用“用户 [3].用户名”之类的内容访问它。一切正常,但我遇到了一个问题:打印每个帐户的最后一个值(在本例中为密码)时,还有一个空行。我不想要这个,因为我不能像那样使用它,例如在检查密码是否正确时。这是代码class Accounts:    def __init__(self, username, email, password):        self.username = username        self.email = email        self.password = passwordusers = []def add_account(username, email, password):    file = open("useraccounts.txt", "a")    file.write(username + ", " + email + ", " + password + "\n")    file.close()def read_accounts():    file = open("useraccounts.txt", "r")    count = 0    for line in file:        count += 1    file.seek(0)    for i in range(count):        x = file.readline()        x = x.rsplit(", ")        new_account = Accounts(x[0], x[1], x[2])        users.append(new_account)    file.close()add_account("Banana", "banana@email.com", "1234")read_accounts()print(users[0].username)print(users[0].email)print(users[0].password)print("Something")这就是输出的样子Bananabanana@email.com1234Something当处理多个帐户和手动编写文本文件而不是使用 add_account 函数时,也会发生这种情况。我确定问题出在我的 read_accounts 函数上,因为像这样手动创建帐户时不会出现问题account = Accounts("Banana", "banana@email.com", "1234")此外,由于这是我的第一个程序,如果您有任何其他提示,请告诉我。1 更多内容:最初我的帖子以“嘿伙计们”开头,但它被删除了。为什么会这样 哈哈
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

file.readline()不会从行尾删除换行符,因此当您将其拆分时,换行符仍附加到最后一个元素(密码)。所以你应该在rstrip()你的阅读中添加一个,例如:

x = file.readline().rstrip()

这应该有所帮助,编码愉快!


查看完整回答
反对 回复 2022-12-14
  • 1 回答
  • 0 关注
  • 119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信