Ma se volessi scrivere il nuovo file dall'interno del programma senza segnarlo nella linea di comando, come posso fare?
Crei un nuovo file aperto in scrittura e ci scrivi dentro il contenuto di quello gia aperto in lettura:
codice:
f1 = file('input', 'r')
f2 = file('output', 'w')
f2.write(f1.read())
f1.close()
f2.close()
Nota che cmq questo non è bellissimo da fare in quanto con f.read() (senza specificare il buffer) leggi tutto il file salvandolo temporaneamente in memoria e se questo è molto grande saturi le risorse.
La via corretta è leggere il file a pezzi e scrivere nel nuovo file finchè del primo non hai letto tutto:
codice:
f1 = file('input', 'r')
f2 = file('output', 'w')
while 1:
chunk = f1.read(65536) # leggi 65536 bytes alla volta
if not chunk:
break
f2.write(chunk)
f1.close()
f2.close()
Inoltre, posso trasformare il file in una lista, in modo da poterci appliccare la funzione sort()?
Quando esegui "parole = Contenuto.split()" hai gia una lista all'interno della variabile "parole" sulla quale puoi richiamare il metodo sort().
codice:
parole = Contenuto.split()
parole.sort()