|
Una prima particolarità che vogliamo ricordare è il comando nullo:
pass. Si tratta semplicemente di un comando non fa nulla. È utile
in circostanze in cui è quello che si vuole attendere, oppure quando viene
per esempio commentato un blocco di codice e si vuole mantenere la struttura
di supporto. Per esempio
# ciclo infinito
# attende im ^c
while 1:
pass
# fa_qualcosaltro() è disattivato
if a>1:
fa_qualcosa()
else:
#fa_qualcosaltro()
pass
Un'altra particolarità è la clausola else applicata ai cicli. Si
tratta di una condizione che viene eseguita quando il ciclo viene concluso.
A differenza di un blocco di codice inserito dopo il ciclo, la clausola else
viene eseguita solamente se il ciclo non termina con break. Quindi scriviamo
un programma che stampa tutti i file che NON contengono una data stringa
for file in files:
for line in open(file).readlines():
if line.find(stringa) != -1:
break
else:
print file
Il ciclo più esterno viene ripetuto per ogni file di una lista di file.
Ciascun file viene letto riga per riga, se contiene una stringa cercata, il
ciclo viene interrotto, e la clausola else non viene mai raggiunta.
Se invece il ciclo arriva a compimento, viene stampato nome del file quando
la stringa non è stata trovata.
|