2016-06-17 4 views
-1

У меня есть этот код, который скотина заставляет параметр:Удаление строки в файле

import urllib 
import sys 

with open('finaltext.txt', 'r') as f: 
    for line in f: 

     site = urllib.urlopen("localhost/?cin="+line) 
    if site.read() == "good": 
     print line 
     reponse = open("result.txt",'w') 
     reponse.write(line) 
     reponse.close() 
     sys.exit() 
    else: 
     print line+"NOO" 

Я хочу, чтобы сделать код удалить каждую строку уже bruteforced в файле finaltext.txt, так, если я остановить этот процесс, я могу продолжить позже откуда я остановился.

ответ

0
import urllib 
import sys 
s = open('index.txt','r') 
indx = int(s.readlines()[0]) 
s.close() 
with open('finaltext.txt', 'r') as f: 
    g = open('result.txt','w') 
    finaltext = f.readlines() 
    for line in finaltext[indx:len(finaltext)]: 
     indx+=1 
     with open('index.txt','w') as ixfile: 
      ixfile.write(str(indx)) 
     site = urllib.urlopen("localhost/?cin="+line) 
     if site.read() == "good": 
      print line 
      g.write(line) 
     else: 
      print line+"NOO" 
    g.close() 
    sys.exit() 

Непрошеный. Я также не думаю, что это действительно правильно, потому что я понятия не имею, как работает ваш материал.

EDIT: Как насчет этого?

+0

этот код печатает только хорошую строку, но если процесс займет так много времени, и файл окончательного текста огромен, как я могу удалить каждую проверенную строку, поэтому, если я остановлю код, я смогу продолжить с того места, где я остановился. –

+0

Создайте счетчик и напишите его в файл на каждой итерации. Когда вы перезагружаетесь, прочитайте файл счетчика, чтобы узнать, в какой строке вы находитесь. –

+0

Если файл огромен, не рекомендуется делать это так. Считывание всех строк сразу и открытие и закрытие снова и сброс вашего f-указателя занимает много бара. Как насчет того, чтобы переписать его так, чтобы вы записывали, какие элементы вы сделали, а затем XORing. Я думаю, что лучшее решение на самом деле будет содержать индекс того, где вы находитесь, и если вы остановите процесс, индекс будет написан. Это означает, что вам не нужно много экономить – Jason

Смежные вопросы