我试图删除一个约3000万行的文本文件中的特定行(10884121)。这是我第一次尝试的方法,但是,当我执行它时运行了大约20秒,然后给我一个“内存错误”。有一个更好的方法吗?谢谢!Python删除一个特定的行号
import fileinput
import sys
f_in = 'C:\\Users\\Lucas\\Documents\\Python\\Pagelinks\\fullyCleaned2.txt'
f_out = 'C:\\Users\\Lucas\\Documents\\Python\\Pagelinks\\fullyCleaned3.txt'
with open(f_in, 'r') as fin:
with open(f_out, 'w') as fout:
linenums = [10884121]
s = [y for x, y in enumerate(fin) if x not in [line - 1 for line in linenums]]
fin.seek(0)
fin.write(''.join(s))
fin.truncate(fin.tell())
不要用'枚举(FIN)'和'fin.write将整个文件读入内存( ''。加入(S))' –