[Python] trova e sostituisci
Valerio Turturici
turturici.valerio a gmail.com
Gio 15 Apr 2010 16:11:22 CEST
Valerio Pachera ha scritto:
> 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?
>
Devi creare un nuovo file su cui scrivere. Una cosa tipo:
out = open("file_out.txt", 'w')
for line in open("file.txt"):
if 'membri' in line:
nuovo = line + 'hello world\n'
out.write(nuovo)
out.write(line)
out.close()
Maggiori informazioni sulla lista
Python