Python-第二次遍历文件不起作用
我对文件进行迭代有问题。这是我在解释器上键入的内容和结果:
>>> f = open('baby1990.html', 'rU')>>> for line in f.readlines():
... print(line)
...
# ... all the lines from the file appear here ...
当我尝试再次遍历同一个打开的文件时,我什么也没得到!
>>> for line in f.readlines():... print(line)
...
>>>
根本没有输出。为了解决这个问题,我必须对close()
文件进行编辑,然后再次将其打开以进行读取!那是正常行为吗?
回答:
是的,这是正常行为。基本上,你是第一次读取文件的末尾(可以像读取磁带一样对它进行图片处理),因此除非你使用f.seek(0)
重定位到文件开头的位置进行重置,否则你将无法从文件中读取更多内容。文件,或者将其关闭,然后再次打开,它将从文件的开头开始。
如果你愿意,可以改用with
语法,它将自动为你关闭文件。
例如,
with open('baby1990.html', 'rU') as f: for line in f:
print line
一旦完成该块的执行,文件将自动为你关闭,因此你可以重复执行此块,而无需自己显式关闭文件并以此方式再次读取文件。
以上是 Python-第二次遍历文件不起作用 的全部内容, 来源链接: utcz.com/qa/416131.html