George R Goffe <grgo...@yahoo.com.dmarc.invalid> writes: > When you run a python program, it appears that stdin, stdout, and > stderr are opened automatically.
That's true of any program on a POSIX-compliant operating system. > I've been trying to find out how you tell if there's data in stdin > (like when you pipe data to a python program) rather than in a named > input file. What does “there's data in [a stream]” mean here, and how is it distinct from there being “data in … a named input file”? The advantage of the standard POSIX streams is that processes can treat them as very nearly normal files. I don't doubt you have a distinction you want to detect, but can you be clearer about what that distinction is? > It seems like most/all the Unix/Linux commands are able to figure this > out. Do you know how Python programs do this or might do this? Hmm. The standard input stream is a separate object from any named input file you might otherwise open. That's a trivially obvious difference to detect, so I guess you must not mean that. Perhaps you mean “is the ‘stdin’ stream connected to an interactive terminal?”. That's quite a different question from what you seem to be asking, so I don't know. -- \ “The best is the enemy of the good.” —Voltaire, _Dictionnaire | `\ Philosophique_ | _o__) | Ben Finney _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor