尝试分割非常大的字符串时出现内存错误。
data = load_data(file_name) # loads data string from file
splited_data = data.split('\n\n')
为什么会这样以及如何解决? 使用 python 2.7
最佳答案
函数load_data
正在将整个文件读入内存,很明显您没有足够的内存来执行此操作。因此,您将不得不放弃先进行读取阶段再进行处理阶段的想法。相反,一次读取一行文件,并在获取时处理这些行。
这将以与 data.split('\n\n')
相同的方式将文件拆分为字符串,但一次一行:
with open("mybigfile.txt", "r") as f:
for line in f:
mydata = line.rstrip()
if mydata:
do_something_with(mydata)
关于Python MemoryError 试图分割大字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53762806/