Python中的File对象的readlines()方法

时间:2015-12-13 07:31:38

标签: python list

我有一个关于Python中文件对象的readlines()方法的快速问题。

我有一个包含以下内容的文件(file1.txt):

one
two
three
four
five

我知道我可以在解释器中对此文件使用readlines(),如下所示:

>>>f = open('file1.txt', 'r+')
>>>f.readlines()
['one\n', 'two\n', 'three\n', 'four\n', 'five\n']

同样,我可以这样做:

>>>f = open('file1.txt', 'r+')
>>>lines = f.readlines()
>>>lines
['one\n', 'two\n', 'three\n', 'four\n', 'five\n']

然而,似乎我只能运行readlines()方法一次:

>>>f = open('file1.txt', 'r+')
>>>f.readlines()
['one\n', 'two\n', 'three\n', 'four\n', 'five\n']
>>>lines = f.readlines()
>>>lines
[]

这里发生了什么?为什么f.readlines()在我第二次调用它时会返回一个空列表?

感谢。

1 个答案:

答案 0 :(得分:1)

当您读取文件一次,文件指针已移至文件末尾时,您必须调用f.seek(0)将文件指针移回开头。