Welcome, guest | Sign In | My Account | Store | Cart

With this snippet you can exit a loop by just pressing a single key (or detect a single key press for other purposes).

Python, 25 lines
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import msvcrt

while 1:
    print 'Testing..'
    # body of the loop ...
    if msvcrt.kbhit():
	if ord(msvcrt.getch()) == 27:
	    break


"""
Here the key used to exit the loop was <ESC>, chr(27).

You can use the following variation for special keys:

    if ord(msvcrt.getch()) == 0:
        if ord(msvcrt.getch()) == 59:    # <F1> key
            break

With the following, you can discover the codes for the special keys:
    if ord(msvcrt.getch()) == 0:
        print ord(msvcrt.getch())
        break
	    
Use getche() if you want the key pressed be echoed."""
Created by Armando Baratti on Wed, 21 Aug 2002 (PSF)
Python recipes (4591)
Armando Baratti's recipes (2)

Required Modules

Other Information and Tasks