Python输入/输出说明

时间:2014-05-07 08:56:26

标签: python file input output readline

      my_file = open("text.txt", "r")
      print my_file.readline()
      print my_file.readline()
      print my_file.readline()
      my_file.close()

我理解/如何打印出文本文件的前三行,但我并不完全确定为什么。由于我打印出了my_file.readline(),为什么它不打印所有三次的第一行?

1 个答案:

答案 0 :(得分:3)

Python读入文件并将其存储在变量my_file中,指针位于文件的开头或(0, 0)。当你开始做readline时,python将从文件中读取一行,然后“消耗”它。换句话说,当前指针现在将在下一行等待,所以当你调用readline时,它现在将获得下一行。

希望有所帮助

相当于你所期望的那样:

my_file = open("text.txt", "r")
print my_file.readline()
my_file.seek(0, 0)
print my_file.readline()
my_file.seek(0, 0)
print my_file.readline()
my_file.close()

在上述情况下,seek(0, 0)调用会在每readline之后将指针的位置重置为文件的开头,因此在这种情况下,您将最终打印第一行3次。