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

78 投票
1 回答
5691 浏览
提问于 2025-04-15 11:34

我希望我的脚本在交互式命令行中和在输出被重定向时(比如当它的输出被传递给其他命令时)表现得不一样。

我该如何在Python脚本中判断这两种情况呢?

举个例子,像grep这个程序,当在交互式命令行中运行时,它会高亮显示匹配的内容,但如果把它的输出传给其他命令,就不会高亮了。

1 个回答

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

或者

sys.stdout.isatty()

撰写回答