reading one byte from stdin
Diez B. Roggisch
deets at nospam.web.de
Wed Jul 16 03:04:37 EDT 2008
Mark McDuff schrieb:
> I'm trying to read one byte from stdin, without the newline.
>
> If I try something like:
> >>> import os, sys
> >>> os.read(sys.stdin.fileno(),1)
>
> I can input a character, but then I have to press enter, which leaves a
> newline character in the stdin buffer and requires two keypresses. Is
> there any way to read only one keypress in a simple manner (i.e. no
> curses)?
Depending on your OS, yes. Under *nix, you need to set the terminal to
RAW-mode.
This recipe claims to be OS-agnostinc:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/134892
Diez
More information about the Python-list
mailing list