Detecting a single keypress from Python – such as the "Press any key to continue." functionality at the console – requires use of operating system specific modules. We can’t use the built-in input()
function, because that waits for the user to press Enter before giving us a string. To implement this on Windows we need to use functionality from the Windows-only msvcrt
module, and on Linux and macOS we need to use functionality from the Unix-only tty
and termios
modules, in
addition to the sys
module.
This example is quite instructive as it demonstrates many Python language features including import
and def
as statements, as opposed to merely declarations:
"""keypress - A module for detecting a single keypress.""" try: import msvcrt def getkey(): """Wait for a keypress and return a single character string.""" return msvcrt.getch() except ImportError: import sys import tty import termios def getkey(): """Wait...