【发布时间】:2015-12-13 07:31:38
【问题描述】:
我有一个关于 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() 会返回一个空列表?
谢谢。
【问题讨论】:
-
你也只能运行一次
f.read(),除非你运行f.seek(0)。这可能是一个骗局。让我搜索一下。 -
感谢您指出我提出的第一个问题。我的谷歌技能显然缺乏。