["python","http-redirect","stdout","stdin"]
How do I check if stdin has some data?

In Python, how do you check if sys.stdin has data or not? I found that os.isatty(0) can not only check if stdin is connected to a TTY device, but also if there is data available. But if someone uses code such as sys.stdin = cStringIO.StringIO("ddd") and after that uses os.isatty(0), it still returns True. What do I need to do to check if stdin has data?
On Unix systems you can do the following: import sys import select if select.select([sys.stdin, ], [], [], 0.0)[0]: print("Have data!") else: print("No data") On Windows the select module may only be used with sockets though so you'd need to use an alternative mechanism.