Yes, I am aware of this Dennis. However, but, on my system I actually had it running without the msvcrt.kbhit()

This occurred during testing while trying different options. And I was able to reproduce this several times. Why? I do not have an answer. This is one reason why I posted the code. It would be interesting to know if anyone else has obtained the same results.

Note: 1) 3.6.2 (v3.6.2:5fd33b5, Jul  8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)]
           2) msvcrt is built-in (at least on my system)

On 2018-01-24 18:28, Dennis Lee Bieber wrote:
On Wed, 24 Jan 2018 02:13:35 +0100, Virgil Stokes <v...@it.uu.se>*declaimed*  ?
the following:



     key = msvcrt.getwch()
        NOTE: per documentation, that is a blocking read... It won't return
unless a key (any key) has been pressed. That means your "more work to do"
loop requires a key press for each loop.

        Recommendation would be to use kbhit() first.


        if msvcrt.kbhit():
                key = msvcrt.getwch()
                ...


        Consider

-=-=-=-=-

import msvcrt as ms
import time

ESCAPE = chr(27)

workPending = True
cycle = 0

while workPending:
     print("Getting imaginary data %s..." % cycle)
     time.sleep(1.5)
     print("\tSaving imaginary data %s..." % cycle)
     time.sleep(1.5)

     if ms.kbhit():
         key = ms.getwch()
         if key == ESCAPE:
             print("Pre-termination on cycle %s..." % cycle)
             break
         else:
             print("Random keypress %r found on cycle %s..." % (key, cycle))

     cycle += 1

time.sleep(1.5)
print("Termination")
-=-=-=-=-
C:\Users\Wulfraed\Documents\Python Progs>kbhit
Getting imaginary data 0...
         Saving imaginary data 0...
Getting imaginary data 1...
         Saving imaginary data 1...
Random keypress u'd' found on cycle 1...
Getting imaginary data 2...
         Saving imaginary data 2...
Getting imaginary data 3...
         Saving imaginary data 3...
Random keypress u'a' found on cycle 3...
Getting imaginary data 4...
         Saving imaginary data 4...
Pre-termination on cycle 4...
Termination

C:\Users\Wulfraed\Documents\Python Progs>

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to