On Thursday 16 July 2009 07:12:48 Alex wrote: > Salve, ho un ciclo while infinito che mi crea una piccola animazione in > loop....vorrei che dopo tot secondi il programma esca e si chiuda; ho > provato questo codice ma non funziona: > > > def uscita(): > print "Ha letto la funzione !" > raise SystemExit > t = threading.Timer(25.0, uscita) > t.start() > # Looppa l'animazione > while True: > #codice in loop dell'animazione > > > Dove sbaglio ? Ciao, Le eccezioni solo locali al thread che le genera, per cui la tua uscita uccide solo se stessa. Un'dea al volo per questo tipo di problema è avere un check nel while che controlla un condizione. self._finished = threading.Event() while True: if self._finished.isSet(): return self.task() dove self.task è la funzione della tua animazione che però deve collaborare e terminare ogni ciclo in tempo ragionevole. inoltre bisogna fare in modo che self._finished.set() sia chiamato dopo un tot di secondi o quando l'utente preme exit. Ciao, Daniele Pizzolli -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx