如何识别脚本是否在tty上运行?

时间:2009-05-13 15:24:07

标签: python shell

我希望我的脚本在交互式shell会话中以及在使用重定向的stdout运行时(例如,当通过管道传输到其他命令时)采取不同的行为。

我如何识别Python脚本中发生了哪两个?

现有程序中此类行为的示例:grep --color = auto在交互式shell中运行时突出显示匹配,但在管道传输到其他程序时则不会。

1 个答案:

答案 0 :(得分:69)

import os, sys
os.isatty(sys.stdout.fileno())

sys.stdout.isatty()