我正在尝试从文件中删除空行。我的方法是逐行读取文件,并将任何不仅仅是换行符的行写入新文件。它适用于小文件,但由于我不明白的原因,我在较大的文件上遇到了MemoryError。问题文件超过1GB,但由于我是逐行读取它,我不认为我在内存中存储了多行。还是我?
with open(output_path, "ab+") as out_file:
with open(input_path, "rb") as in_file:
line = in_file.readline()
while line:
if line != "\n":
out_file.write(line)
line = in_file.readline()
当我将文件拆分成块时,它工作正常,但这是我不想做的一步。我想了解这里发生了什么。谢谢!
答案 0 :(得分:0)
事实证明问题出在代码的其他地方。我没有明确关闭文件,导致了这个问题。谢谢大家的帮助。