Hai ragione, non mi sono certo sprecato con i commenti:
codice:
import re # importo il modulo per le espressioni regolari
fi = open('data.txt', 'r') # apro il file in modalita read
rows = fi.read().split('\n') # leggo l'intero contenuto dividendolo per righe (carattere '\n')
fi.close() # chiudo il file
fo = open('out.txt', 'w') # apro il file di output
regexp = re.compile('sector (\d+) ') # creo una espressione regolare che matcha con righe contenenti la praola 'sector' seguita da 1 o + cifre
tmpList = []
for row in rows:
mo = regexp.search(row) # il metodo search ritorna None se la riga non combacia con l'espressione regolare, altrimenti ritorna un oggetti contenente i risultati della ricerca
if mo is not None: # se la ricerca ha avuto successo
tmpList.append(mo.groups()[0]) #inserisco nella lista il numero trovato
for i in xrange(0, len(tmpList), 2): # ciclo sulla lista dei risultati procedendo per coppie e li scrivo sul file di output
fo.write('1:%s,%s\n' % (tmpList[i], tmpList[i+1]))
fo.close()
Spero che ora sia più chiaro. Se non sai cosa sono le regular expressions, dai un'occhiata alla documentazione.
Ciao