Probabilmente l'output (la stringa nel comando print) e' accumulato in memoria: raggiunto un certo limite, viene "scritto" sullo schermo. msvcrt.getwch() non forza il "flush" (la scrittura a video), per cui la stringa rimane in memoria.

prova a fare sys.stdout.flush() tra il print e svcrt.getwch().

Spero sia d'aiuto
Antonio


Gabriele Battaglia wrote:
Buongiorno.

Chi è in grado di risolvere questo mistero?
Al primo che invierà la soluzione corretta: un'anguilla di Comacchio, marinata, 
zippata e direttamente recapitata in casella
e-mail.

# *** Code: mostra un prompt e attende la pressione di un tasto.
import msvcrt

def Wait():
    print('Premi un tasto', end = '')
    return msvcrt.getwch()

Mistero:
Su Win 7 a 64 bit e Python 3.6.3 a 32 bit il prompt non viene visualizzato fin 
tanto che non viene premuto un qualsiasi tasto,
sebbene print venga prima di msvcrt.getwch().
Su Win 10 1703 a 32 bit, sia con Python 3.6.2 sia Python 3.6.3 mostrano il 
prompt e poi resta in attesa della pressione di un
tasto da parte dell'utente.
Altra Macchina con Win 10 e Python 3.6.2, niente prompt stampato a video.

Ora la domanda equiparabile ad "Esiste Dio" o, "C'è vita nell'universo", è:

     PP  EE RR CC HH éé ????????????

:) Gabry.
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a