gpt4 book ai didi

python - 第二次迭代文件不起作用

转载 作者:IT老高 更新时间:2023-10-28 20:32:43 26 4
gpt4 key购买 nike

我在迭代文件时遇到问题。这是我在解释器上输入的内容和结果:

>>> 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

一旦这个 block 执行完毕,文件会自动为你关闭,所以你可以重复执行这个 block 而无需自己显式关闭文件并以这种方式再次读取文件。

关于python - 第二次迭代文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10255273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com