输入:带有序列文件的12GB左右的大文件,带〜分隔符,我想在每10次出现后用新行破坏。
我试过
with open ("file.txt") as f:
for line in f:
x = line.count("~")
y = line.split("~")
s = ['Ç'.join(x) for x in [y[i:i + 10] for i in xrange(0, len(y), 10)]]
with open ("output.txt","w") as outfile:
outfile.write("~\n".join(s))
虽然line.split('~')
我遇到内存错误。
我尝试使用y = [line.split('~') for line in f]
,但没有使用相同的错误。请帮我解决这个问题。
答案 0 :(得分:1)
for line in f:
将尝试将所有文件加载到RAM中
使用xreadline迭代器逐行加载文件:
for line in f.xreadlines():