Python MemoryError 试图分割大字符串

标签 python python-2.7 python-2.x

尝试分割非常大的字符串时出现内存错误。

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/

相关文章:

python - 读取 json 文件作为输入并作为 pprint 输出?

python - 为什么 PyEphem 文档没有提到rise_time 或transit_time?

python - 同时为 Python 2.7 和 3.6 安装 virtualenvwrapper

Python - 返回构造函数参数名称而不实例化

python - 在第 n 次出现后删除字符串的其余部分

python - 对 Pandas 中的一列进行分组并根据另一列进行降序排列

python - PIL 将 png 像素导入为单个值而不是 3 个值向量

python - 为什么 subprocess.call () 在 Linux 中显示错误?

python - numpy:将行中的重复值设置为 0

python - 来自 turtle 类的 mainloop 函数不起作用,Python