[Python] trova e sostituisci

Valerio Pachera sirio81 a gmail.com
Gio 15 Apr 2010 12:32:42 CEST


Ciao a tutti, vi posso dire con piacere che la mia "piccola
applicazione web" sta cominciando a prendere vita.
Ora apro una nuova discussione specifica per i file.
Sto leggendo la documentazione:
http://docs.python.org/library/stdtypes.html#bltin-file-objects
http://diveintopython.org/file_handling/file_objects.html
ma faccio fatica a trovare un modo semplice per fare quello che mi
serve. Mi spiego:

ho un file di configurazione che devo leggere, trovare una specifica
riga, verificare se su questa riga è presente un valore. Se non c'è,
lo devo appendere alla riga.
Partiamo da un esempio:

----
gruppo disney
...
...
membri pippo,pluto
...
...
---

Andiamo per step:

1) cerchiamo _solo_ la parola chiave 'membri'

f = open(file.txt,r)
for line in f.readlines()
    if 'membri' in line: print line
f.close

questo funziona

2) Una volta individuata la riga vorrei rimuoverla e sostituirla con
quella elaborata


f = open(file.txt,w)
for line in f.readlines()
    if 'membri' in line:
    nuova = line + 'hello world'
    #rimuovi line
    f.writeline(nuova)
f.close

E' possibile fare qualcosa del genere mentre si scorre il file?
Come consigliare altrimenti di fare?

Successivamente dovrò inoltre poter rimuovere nomi dalla riga 'membri'.

Grazie


Maggiori informazioni sulla lista Python