How to determine if IO redirection is occurring with the output from a Python program?

pat pkugrinas at gmail.com
Tue Apr 17 10:29:48 EDT 2012


Check os.isatty(fd). It will return True if fd is a terminal-like device.

On Tue, Apr 17, 2012 at 5:21 PM, Edward d'Auvergne <edward at nmr-relax.com>wrote:

> Hi,
>
> I was wondering if anyone knows of how to detect when IO redirection
> of any form is happening within a Python program?  I would like to
> emulate the behaviour of the GNU tools (for example the Unix commands
> 'ls' or 'grep') whereby ascii escape sequences are printed if the
> output is solely to the terminal, and in all other cases (redirection
> to file via '>', pipes via '|', or more complex redirections) the
> ascii escape characters are suppressed.  Any ideas would be
> appreciated!
>
> Cheers,
>
> Edward
>
>
> --
> Edward d'Auvergne, PhD
> Lead developer of the projects relax, minfx, and bmrblib
> http://www.nmr-relax.com
> http://gna.org/projects/minfx
> http://gna.org/projects/bmrblib
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20120417/ebd80c66/attachment.html>


More information about the Python-list mailing list