I am essentially trying to write a console interface with input and output for an embedded python script. Following the instructions here, I was able to capture stdout:
To process all available input inside Python I'd recommend the fileinput module.
If you want to handle input as line-by-line commands, (such as in an interactive interpreter), you might find the python function raw_input useful.
To redirect stdin using a similar helper class such as the ones you've used above, the function to override is readline, not read. See this link for more info on that (and also raw_input).
Hope this helps, Supertwang