如何识别脚本是否在tty上运行?
我希望我的脚本在交互式命令行中和在输出被重定向时(比如当它的输出被传递给其他命令时)表现得不一样。
我该如何在Python脚本中判断这两种情况呢?
举个例子,像grep这个程序,当在交互式命令行中运行时,它会高亮显示匹配的内容,但如果把它的输出传给其他命令,就不会高亮了。
1 个回答
92
import os, sys
os.isatty(sys.stdout.fileno())
或者
sys.stdout.isatty()