<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>