[Linuxtrent] Re: Uscita da programma/script in python

  • From: Lele Gaifax <lele@xxxxxxxxxxxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Thu, 16 Jul 2009 15:00:07 +0200

On Thu, 16 Jul 2009 14:48:42 +0200
Alex <magobin@xxxxxxxxx> wrote:

> orario = time.time()
> while True:     if  time.strftime('%s', time.localtime(orario + 45))
>        break
>        raise SystemExit
> 
> 
> ..purtroppo non posso provare in questo momento questo codice...

Forse sarebbe opportuno leggersi un po' di documentazione sulla
libreria standard, prima di provare cento soluzioni :)

L'espressione che hai scritto non ha alcun senso, o almeno, non fa
quello che vuoi: dice "se (la conversione in stringa di (orario+45)
espresso nell'ora locale)"... e basta! Nello specifico, per Python
l'espressione risulterà sempre "vera" (cioè, le due trasformazioni non
dovrebbero mai fallire, quindi otterresti sempre una stringa con
qualcosa dentro, che come valore Python assume "vero").

Quello che vuoi veramente è contare 45 secondi, senza tante
trasformazioni in ora locale o in stringa. Quindi ti basta la time():

>>> help(time.time)
time(...)
    time() -> floating point number

    Return the current time in seconds since the Epoch.
    Fractions of a second may be present if the system clock provides them.

che restituisce un contatore dove la parte intera sono dei secondi,
ergo:

orario = time.time()
while time.time()-orario < 45:
    # fai qualche cosa

hth,
ciao, lele.
-- 
nickname: Lele Gaifax    | Quando vivrò di quello che ho pensato ieri
real: Emanuele Gaifas    | comincerò ad aver paura di chi mi copia.
lele@xxxxxxxxxxxxxxxxxxx |                 -- Fortunato Depero, 1929.
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: