On May 24, 9:48 am, Tartifola <[EMAIL PROTECTED]> wrote: > Hi, > suppose a script of python is waiting for a file from the stdin and none > is given. How can I make the script to stop and, for example, print an > error message? > > Sorry for the n00b question and thanks
I'm not exactly sure what you mean. This assumes that you intended the contents of the file be piped in from the command line. [code] import sys if sys.stdin.isatty(): print >>sys.stderr, "expected input from stdin" sys.exit(1) sys.stdout.write(sys.stdin.read()) [/code] If you simply want a prompt "Enter a filename:", followed by an error if it is not a valid file, I would use something like this: [code] import sys filename = raw_input("Enter a filename:") try: f = open(filename) except IOError,e: print >>sys.stderr, e.strerror, e.filename sys.exit(e.errno) #do stuff with f [/code] -- http://mail.python.org/mailman/listinfo/python-list