KeyBoard interrupt and Redirection operator

Gary Herron gherron at
Tue Sep 15 21:00:42 CEST 2009

aditya shukla wrote:
> Hello Guys,
> I have a program which i use like this arg1 arg2 > filename. 
> I am using the redirection operator to direct the output to the 
> filename .The scenario  here is that I want to print a message as long 
> as the program is running and as generate an error message and exit as 
> I use a keyboard interrupt.I am able to do this by using a try except 
> clause but the issue is that everything is written to the file as i am 
> using the redirection operator .Is there a way to write the running 
> program message and the terminate program mesage to the console 
> without writing it to the file.
> Thanks
> Aditya

There are two output streams usually available to such a program. 

  stdout:   Where print's output goes, and is affected by the redirect 

  stderr:  Output to this stream is not (normally) affected by the 
redirect operator.

  print stuff
  print>>sys.stdout, stuff
will go to the redirected file

  print>>sys.stderr, stuff
will not be redirected.

That answers you specific question, but note that various shells *do* 
provide (other) ways to redirect both stdout and stderr, but for a 
discussion on that, you will have to tell us what shell, and indeed what 
OS you are using.

Gary Herron

More information about the Python-list mailing list