Premessa sono neofita del Python.
Ho provato a scrivere un programmino che dato un file di testo, permetta di inserire (ad una certa riga) o cancellare una parola in un testo.
codice:
def inserimento(elem, riga):
f=open("./Testo.txt", 'r')
lst_str = f.readlines()
if int(riga) > len(lst_str):
print " Indice troppo alto."
f.close()
else:
lst_str[int(riga) - 1] = lst_str[int(riga) - 1][:-1] + " " + elem + "\n"
f.close()
f = open("./Testo.txt", 'w')
f.writelines(lst_str)
f.close()
codice:
def cancellazione(elem):
f=open("./Testo.txt", 'r')
lst_str = f.readlines()
lst_str_new = None
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()
Queste due funzioni funzionano. Solo che prima avevo cercato di aprire il file in "r+" ma la soluzione non è ottimale. Sapete spiegarmi il motivo? Grazie