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个字符。