我想逐行读取一个大文件(>5GB),而不将其所有内容加载到内存中。我无法使用,readlines()因为它会在内存中创建一个非常大的列表。
要逐行读取大型文件而不将所有内容加载到内存中,您可以在上下文管理器中使用 Python 的内置文件对象。这种方法一次读取一行,节省内存。您可以这样做:
with open('large_file.txt', 'r') as file: for line in file: # Process each line print(line.strip())
在此示例中,with open()语句打开文件并确保在执行块后正确关闭文件。该for line in file:构造迭代文件对象,每次读取一行。
with open()
for line in file:
此方法适用于大文件,因为它在任何时候都只在内存中保留一行。您可以print(line.strip())用所需的任何处理逻辑进行替换。
print(line.strip())