python - 如何在不耗尽python内存的情况下遍历大文件?

标签 python memory crash generator

我要做的基本上是打印一个字符串在文件中出现的次数,但是文件太大,以至于我尝试对其进行迭代时,程序总是崩溃:

import gzip
res = []
def fileopener(f):
    with gzip.open(f) as fhand:
        for line in fhand:
            res.append(line.count(b'NEU'))
        print(sum(res))

预期结果将是“NEU”的总和,但程序会崩溃,然后才能产生任何输出。我有什么办法可以阻止这种情况的发生吗?

最佳答案

迭代时保持连续运行,而不是简单地累加要添加的东西。内置函数sum将为您完成此操作。

with gzip.open(f) as fhand:
    result = sum(line.count(b'NEU') for line in fhand)

关于python - 如何在不耗尽python内存的情况下遍历大文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56094162/

相关文章:

java - Android 应用程序不断崩溃

swift3 - 应用因在iPv6上崩溃而被拒绝

python - 将路径附加到路径

python - 使用正则表达式替换命令在文件名字符串中小于 10 的数字前面插入前导零

c - 如何节省数组中未使用的空间?

c# - 如何防止字符串被拦截

python - 无法读取 Excel 文件,列表索引超出范围错误,无法找到表格

python - 在python中多线程时如何增加变量值

c++ - 如何在特定的内存位置写入数据? C++

崩溃,不知道为什么