我正在尝试编写一个代码,其中我使用while循环读取txt文件中的每一行,直到看到没有任何内容的行,即\ n。我的txt文件和代码如下所示:
I like cats
But dogs are
the best
although a tiger
would make for
an awesome pet
file1 = input("Enter name of file: ")
openfile1 = open(file1, "r")
data1 = openfile1.readline().strip()
while data1 !="":
data1 = openfile1.readline().strip()
print (data1)
我想要打印出来的是:
I like cats
But dogs are
the best
但是它省略了第一行并给了我:
But dogs are
the best
为什么省略我的第一行?
答案 0 :(得分:4)
正如其他人所说,你已经读了一次,所以它没有显示出来。
另外,还有一种更简单的打印文件行的方法。
import os
with open('input.txt') as fl:
for line in fl:
print(line.strip())
答案 1 :(得分:0)
将print语句移动到while循环内的readline之前