新手错误:Python文本文件阅读

时间:2014-02-21 20:26:15

标签: python python-3.x text-files

修改

当我第一次开始编码时,我写了这篇文章。我的程序是一个“登录系统”,我非常松散地使用这个术语。我并没有真正使用它,但在我上学的时候,这是一个小小的激情计划。从那以后很多事情改变了。无论如何,我会让你阅读可怕的代码并发布。我希望它有所帮助。


原帖

我编写了这段代码来从文本文件中读取信息,该文件存储了所有这些细节并且它可以正常工作。

loginsystem=open("loginsystem.txt","r")
myuser=loginsystem.readline()
mypass=loginsystem.readline()
print(myuser)
print(mypass)

但它读取的文本文档会在读入的字符串末尾留下一行额外的行。这是程序所需的输出:

myuser
mypass
user1
pass1
user2
pass2
user3
pass3
user4
pass4
user5
pass5

1 个答案:

答案 0 :(得分:1)

我认为你的意思是你的输出显示为

myuser

mypass

...

而不是

myuser
mypass

您想要从readline() s中删除换行符:

myuser = loginsystem.readline().rstrip()

但是,使用with可能是更好的做法,因此您的文件处理得到妥善处理。

with open("loginsystem.txt", "r") as loginsystem:
     ...

此外,如果您想要阅读所有用户名和密码对,您可以执行以下操作:

from itertools import izip_longest
with open("loginsystem.txt", "r") as loginsystem:
    for line1, line2 in izip_longest(*[loginsystem]*2):
        username = line1.rstrip()
        password = line2.rstrip()
        print username, password