我想逐行读取巨大的文本文件(如果找到带有“ 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
无需在python中检查EOF,只需执行以下操作:
with open('t.ini') as f:
for line in f:
# For Python3, use print(line)
print line
if 'str' in line:
break
为什么with
声明:
with
在处理文件对象时,最好使用关键字。这样做的好处是,即使在执行过程中引发了异常,文件在其套件完成后也将正确关闭。
问题内容: 我正在尝试读取日志文件,并将某些值与预设阈值进行比较。我的代码设法通过函数中的第一个循环记录原始数据。 我添加了打印语句以尝试弄清楚发生了什么,并且我已经推断出我的第二个for循环永远不会“发生”。 这是我的代码: 这就是我调用此函数的方式: 看起来像这样: 我尝试谷歌搜索类似的问题,但没有发现。我尝试将我的第一个for循环移入,但是发生相同的问题。目前没有语法错误,我现在无法看到该问
问题内容: 比方说,我有一个文件夹,名为和里面我有,和。如何使用Java和读取文件夹中的所有文件(如果可能的话)? 问题答案: 类似于以下内容应该可以帮助您,请注意,为了简单起见,我使用apache commons FileUtils而不是弄乱缓冲区和流…
问题内容: 我显然面临着一个无限循环,如以下代码所示 一些相关问题解释了为什么如果输入流为true总是返回true ,但是我正在扫描一个。 请让我知道我要去哪里了。 我正在尝试计算唯一整数值的总和(它们出现的位置用空格分隔)。 编辑: 获得的经验教训 不会将指针移到下一行,因此扫描仪不会越过任何输入。正如在此问题的答案中以及此处所解释的。 问题答案: 好吧,据 如果此令牌不是,扫描仪将不会使用
问题内容: 我正在寻找一个循环遍历目录中所有文件的PHP脚本,以便可以使用文件名进行操作,例如格式,打印或将其添加到链接中。我希望能够按名称,类型或创建/添加/修改的日期对文件进行排序。(想想目录“ index”。)我还希望能够将排除项添加到文件列表中,例如脚本本身或其他“系统”文件。(类似于和“目录”。) 由于我希望能够修改脚本,因此我对查看PHP文档和学习如何自己编写更感兴趣。就是说,如果有任
问题内容: 使用python从gz压缩的文本文件中读取一行很容易,而无需完全提取该文件?我有一个大约200mb的text.gz文件。当我提取它时,它变成7.4gb。这不是我必须阅读的唯一文件。对于整个过程,我必须读取10个文件。尽管这将是一个顺序的工作,但我认为在不影响全部信息的情况下做到这一点将是明智之举。我什至不知道有可能。如何使用python完成?我需要逐行阅读文本文件。 问题答案: 您是否
问题内容: 我有一个包含7000万行文本的大型测试文件。我必须逐行阅读文件。 我使用了两种不同的方法: 和 是否有另一种方法可以使此任务更快? 最好的祝福, 问题答案: 1)我确定速度没有差异,两者都在内部使用FileInputStream和缓冲 2)您可以进行测量并亲自查看 3)虽然没有性能优势,但我喜欢1.7方法 4)基于扫描仪的版本 5)这可能比其余的更快 它需要一些编码,但是由于,它确实可