我想逐行读取巨大的文本文件(如果找到带有“str”的行则停止)。如何检查是否到达文件末尾?
fn = 't.log'
f = open(fn, 'r')
while not _is_eof(f): ## how to check that end is reached?
s = f.readline()
print s
if "str" in s: break
原文由 Prog1020 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想逐行读取巨大的文本文件(如果找到带有“str”的行则停止)。如何检查是否到达文件末尾?
fn = 't.log'
f = open(fn, 'r')
while not _is_eof(f): ## how to check that end is reached?
s = f.readline()
print s
if "str" in s: break
原文由 Prog1020 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需遍历文件中的每一行。 Python 会自动检查文件结尾并为您关闭文件(使用 with
语法)。
with open('fileName', 'r') as f:
for line in f:
if 'str' in line:
break
原文由 Sukrit Kalra 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
不需要在 python 中检查 EOF,只需执行以下操作:
为什么
with
声明: