将iostream读入大字符串时出现python内存错误

时间:2018-03-26 14:51:32

标签: string python-3.x split

我有以下代码将iostream读入字符串并对字符串进行一些操作:

# this where memory error happened
data_str = io.StringIO(iostream.getvalue().decode('utf-8')).read()
# split the data string into a list of lines, breaking at line boundaries.
split_lines = data_str.splitlines()

if name == 'a':
    split_lines.insert(0, 'a_ID,a_VALUE')

elif name == 'b':
    split_lines.insert(0, 'b_ID,b_VALUE')

data_new_headers_str = '\n'.join(split_lines)

data_new_headers_io_str = io.StringIO(data_new_headers_str)

这个想法是将一个标题字符串插入到拆分字符串列表的第一个位置,即split_lines,这是通过首先读取一个iostring并将其拆分为一个字符串列表来获取的。

我在运行MemoryError时得到了data_str = io.StringIO(iostream.getvalue().decode('utf-8')).read(),我想知道如何解决这个问题或者更好的方法来完成内存效率方面的工作。

0 个答案:

没有答案