<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2014-12-23 11:42 GMT+01:00 Gabriele Battaglia <span dir="ltr"><<a href="mailto:iz4apu@libero.it" target="_blank">iz4apu@libero.it</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<br>
<div>Manlio Perillo, alle 18:05 del
20/12/2014, digitò:<br>
</div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div></div></blockquote></div></div></div></blockquote><div>> [...] </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><div><div class="h5"><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">mport msvcrt, time<br>
<br>
def key(attesa=99999, msg=""):<br>
''' Attende per il numero di secondi specificati<br>
se tempo e' scaduto, o si preme un tasto, esce.<br>
msg e' il messaggio da mostrare.<br>
Restituisce il tasto premuto. '''<br>
if msg != "": print msg,<br>
t = time.time(); a = ""<br>
while (time.time() - t <= attesa):<br>
if msvcrt.kbhit(): a = msvcrt.getch()<br>
if a != "": break<br>
time.sleep(0.025)<br>
</blockquote>
<div><br>
</div>
<div>Devi impostare stdin in modalità cbreak e quindi usare
select.select per</div>
<div>attendere che l'utente scriva qualcosa.</div>
</div>
</div>
</div>
</blockquote></div></div>
Ciao Manlio.<br>
Ma questa soluzione fermerebbe il flusso dello script, oppure no?<br>
A me serve una non-blocking solution.</div></blockquote><div><br></div><div>Il comportamento è lo stesso di quello del codice che hai postato,</div><div>con la differenza che non usi time.sleep ma imposto il timeout</div><div>chiamando la funzione select.</div><div><br></div><div>select si comporta come sleep, con la differenza che se ci sono</div><div>dati sul file ritorna prima che scada il timeout.</div><div></div></div><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Ciao Manlio</div></div>