In python, how to check the end of standard input streams (sys.stdin) and do something special on that
I want to do something like: for line in sys.stdin: do_something() if is **END OF StdIn**: do_something_special() After a few tries, for now I am doing this: while True: try: line = sys.stdin.next() print line, except StopIteration: print 'EOF!' break Or with this: while True: line = sys.stdin.readline() if not line: print 'EOF!' break print line, I think both above ways are very similar. I want to know is there a more elegant (pythonic) way to do this? Early failed tries: I first tried to catch the StopIteration from inside or outside of a for loop, but I soon realize that since the