
Originariamente inviata da
clasku
perché dici che aprire il file in "r+" non è ottimale?
che problemi ti ha dato?
Supponiamo che nel mio file "Testo.txt" ho:
Se ad es. scrivo così
codice:
def cancellazione(elem): f=open("./Testo.txt", 'r+')
lst_str = f.readlines()
lst_str_new = None
# Usiamo lo strumento sum per contare le occorrenze di elem
# in ogni stringa della lista lst_str
# Usiamo il metodo count per contare la singola occorrenza di count
# in una singola stringa della lista (COMPREHENSION)
conta = sum ([elList.count(elem) for elList in lst_str])
if conta == 0:
print " Elemento %s non trovato" %elem
else:
print " Sono state trovate %d occorrenze di %s" %(conta, elem)
# f.close()
# si esegue il replace di elem con la stringa vuota ""
# f = open("./Testo.txt", 'w')
lst_str_new = [elList.replace(elem, "") for elList in lst_str]
f.writelines(lst_str_new)
f.close()
Dopo aver invocato questa funzione per la parola "Peppa" ho:
ZoePeppa
Pippo
Pluto
Zoe
Pippo
Pluto
Ovvero ho una duplicazione del file e nella seconda parte non avrò la stringa "Peppa"