tui杂记 发表于 2023-11-23 isatty在终端中,许多程序会将输出进行配色等的美化。但当输出被重定向到文件中时,我们肯定不希望这些控制字符被写入文件。所以一些程序会使用 isatty 判断当前得标准输出是不是连接到了终端上,从而自动使用合理的输出方式。 一个 python 的 demo 如下 1234567import osimport sysif os.isatty(sys.stdout.fileno()): print("tty find")else: print("No tty") 当标准输出在终端中且没有重定向时,会输出 tty find,否则输出 No tty 1234➜ python tty_test.py tty find➜ python tty_test.py | catNo tty