Will McDonald wrote: > > There are more experienced UNIXers here, but from my POV I don't see how > > that can happen. The reason is simply that > > > > - sys.stdin alwasy exists (unless you close it yourself) > > > > - in a pipe (which this essentially is) there is now way to know if there > > is more date to come or not, except for the "broken pipe" error - but that > > won't happen to you, as sys.stdin is not broken just because there is > > currently no data arriving. > > That's a good point. I did wonder if it'd just have to sit there > waiting for input much like cat would. I think that's preferable, and > simpler :), than implementing timeouts.
the usual way to implement this is to treat the filename "-" as stdin. if filename == "-": f = sys.stdin else: f = open(filename) ... read from f ... if f is not sys.stdin: f.close() </F> -- http://mail.python.org/mailman/listinfo/python-list