逐行读取大型文本文件,有效节省内存
为了在不占用内存的情况下处理大型文本文件,我们探索了一种方法一次读取一行,而不加载整个内容
解决方案:
关键是使用 for 循环迭代文件对象本身:
with open("log.txt") as infile: for line in infile: print(line)
通过使用上下文管理器(使用 open(...)),我们确保文件在处理后正确关闭。
如何它的工作原理:
open() 函数返回一个支持迭代的文件对象。文件中的每一行都表示为一个字符串,循环将迭代这些行。这使您可以单独处理每一行,而无需将整个文件加载到内存中。
用法示例:
假设 log.txt 是一个大型文本文件,则代码会逐行读取它如下:
with open("log.txt") as infile: for line in infile: # Perform operations on each line here (e.g., print, write to another file)
优点:
以上是如何高效地逐行处理大型文本文件以避免内存问题?的详细内容。更多信息请关注PHP中文网其他相关文章!