2014-10-31 54 views
0

即使在python中读取我的5GB json文件行后,我仍然收到MemoryError。这里是代码,我正在使用它来完成这项工作。由于我是新来的Python只是想获得与代码解决方案:MemoryError使用Python打开5GB文件

with open("D:/2.5GB.json",'r') as json_file: 

    for line in json_file: 
     ret= line.find('435355ebe9f768da84e60340266c18cexx') 
     if ret<>-1:        
      print "Found"  
      exit() 
+0

尝试在for循环的每一行上打印一条消息 - 是否出现任何内容,或先发生MemoryError? – furkle 2014-10-31 06:01:24

+0

循环正在运行,我已经检查过。 – Sourav 2014-10-31 06:02:22

+0

我甚至想知道为什么你有5GB的JSON? – 2014-10-31 06:04:03

回答

-1

回答http://ikigomu.com/?p=1

与开放( “my_large_file.txt”, “R”)为f:
在F线:0​​ (代码在这里)

你目前做的是试图一次加载整个事情耗尽的Python的内存限制的方式。这是有效的,因为它一次加载一行。

+0

你确定你看过这个问题吗? – 2014-10-31 06:05:02

+0

这就是他正在做的,是不是?虽然他的帖子格式不正确,但他的第一行是“with open(”D:/2.5GB.json“,'r')作为json_file:” – furkle 2014-10-31 06:05:25

+0

对于line将整个文件加载到内存中,因此内存不足问题 – 2014-10-31 06:07:27