解析大文件时的内存错误 - Python

use*_*897 0 python memory list

有人质疑Python中的内存错误,但我想问一下我的具体情况.我是编程和Python的新手.

在解析大文本文件(~8GB)时,该行

mylist = [line.strip('\n').split('|') for line in f]
Run Code Online (Sandbox Code Playgroud)

导致"MemoryError".

我在Windows XP 64位上运行64位Python [MSC v.1500 64位(AMD64)],内存为12GB.除了安装更多内存以外,如何处理此内存错误?

Ash*_*ary 5

内存错误即将发生,因为您试图将整个文件存储在列表中(在内存中).因此,尝试在每一行上工作而不是存储它:

for line in f:
   data = line.strip('\n').split('|')
   #do something here with data
Run Code Online (Sandbox Code Playgroud)