I am trying to figure out how to suppress the display of user input on stdout.
raw_input() followed by any print statement preserves what the user typed
I am not entirely sure if this works: maybe you could, just before calling raw_input(), replace sys.stdout with your self-defined file-like object which swallows the output. Right after that, you could set sys.stdout back to what it has been before.
Edit: looks like this approach does not work, because whatever the user types in stays on the screen.
Another option for console manipulation and direct keyboard control is curses.