在大文本文件中删除行

时间:2016-07-13 13:59:25

标签: python file

我在stackoverflow中有关于它的所有问题,他们都说将它列为一个列表或将所有内容放在另一个txt文件等中。我无法制作它们因为我的txt文件大于1gb,我只能读取该文件与for循环。

我试图制作:

f = r.read()

然后去外面3个小时。

当我回来时它还在阅读它。

然后我将其更改为:

with open("wordlist.txt") as f:
        for sat in f:
            try:
                dene(sat.strip())

但是当程序失败时,我必须再次运行整个wordlist。 所以我想做的事情如下:

with open("wordlist.txt") as f:
        for sat in f:
            try:
                dene(sat.strip())
                f.delete(sat)

因此,如果程序失败并再次打开它,它将不会从第一个开始。

1 个答案:

答案 0 :(得分:2)

我认为你无法动态删除这些行。但是,您可以保存上次使用的亚麻布。当您的脚本失败时,您只需执行以下操作:

[f.next() for _ in range(lines_count)]

其中lines_count先前存储在文本文件中。它是已经处理的行数。所以基本上你一直向下移动到你最后一行的路线并从那里开始。