Python循环只解析文本文件的前五行

Python循环只解析文本文件的前五行,python,file,readline,Python,File,Readline,我正在尝试使用readline函数在Python中逐行读取和打印.txt文件。下面的代码旨在逐行打印整个文本文件,但到目前为止,它只打印文本文件的前五行 filename = input("Enter the name and extension of the file you want to open.") file = open(filename, "r") fileline = file.readline() for line in fileline

我正在尝试使用
readline
函数在Python中逐行读取和打印
.txt
文件。下面的代码旨在逐行打印整个文本文件,但到目前为止,它只打印文本文件的前五行

filename = input("Enter the name and extension of the file you want to open.")
file = open(filename, "r")
fileline = file.readline()
for line in fileline:
    fileline = fileline.rstrip("\n")
    print(fileline)
    fileline = file.readline()
file.close()
我希望代码逐行打印出整个文件,但它目前只打印出前五行。代码中的错误是什么?

这一行:

for line in fileline:
正在通过
文件行
的字符循环,其中包含文件的第一行。因此,如果第一行有5个字符,这个循环将执行5次

然后在循环内部,打印该行,然后将下一行读入
文件行
变量。这对循环没有影响,循环仍在第一行中的字符上迭代

要使程序故意打印前5行,可以执行以下操作:

for i in range(5):
    fileline = file.readline()
    if (fileline == ''): #end of file reached
        break
    print(fileline.rtrim('\n'))
或者您可以迭代
文件
,该文件自动读取行,并使用单独的计数器变量

i = 0
for line in file:
    print(line.rtrim('\n'))
    i += 1
    if i == 5:
        break

你应该争取一个更好的头衔。想象一下,一个网站的每个标题都和你的一样,头版应该是什么样子。文件的第一行有多少个字符?
for line in fileline
是在该行的字符之间循环,而不是在行之间循环。@SamRockitt为了简洁,我编辑了你的文章。。。你会因为在帖子中使用个人语言和重复的废话而受到很多负面影响。。。您可以根据自己的意愿进一步编辑,但希望解释编辑背后的原因。另外,我建议您按照提供的方式放置控制台输出和文件内容。为了便于阅读,请将它们作为代码块。谢谢@SamRockitt还请张贴作业问题的确切措辞,以便澄清。你一直在暗示。不要费心用你自己的话来描述它。。。只需发布准确的问题,以减少混淆。
fileline
是行,
line
只是行中的一个字符。或者
对于行,uuuu(文件,范围(5)):print(行)
@SamRockitt换行字符是第5个字符。