尝试加载5GB文本fi时发生Python内存错误

2024-09-28 16:44:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我想读取5GB文件中以文本格式存储的数据。当我尝试使用以下代码读取文件内容时:

file = open('../data/entries_en.txt', 'r')
data = file.readlines()

出现错误: 数据=文件.readlines() 记忆错误 我的笔记本有8GB的内存,当我想运行这个程序时,至少有4GB是空的。但是当我监视系统性能时,当python使用大约1.5GB的内存时,就会发生这个错误。
我使用的是Python2.7,但如果有关系,请告诉我2.x和3.x的解决方案 我该怎么读这个文件?在


Tags: 文件数据记忆内存文本格式代码txt内容
2条回答

处理大文件的最好方法是-

with open('../file.txt', 'r') as f:
    for line in f:
        # do stuff

readlines()将出错,因为您正试图将太大的文件直接加载到内存中。上面的代码将自动关闭你的文件一旦你完成处理。在

如果要处理文件中的行,则应使用:

for line in file:
    # do something with the line

它将逐行读取文件,而不是一次将其全部读入RAM。在

相关问题 更多 >