gpt4 book ai didi

linux - linux shell 中的 python 脚本,用于检查命令行是否写入文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:08 26 4
gpt4 key购买 nike

我正在编写一个将输出打印到屏幕(linux shell)的 python 脚本,并且我正在用颜色打印它。有没有办法知道输出是否进入文件?

例子:

script.py parms

这在 shell 中提供了良好的彩色输出

现在如果我这样做:

script.py parms > output.txt

当我打开文件时,我看到奇怪的 ASCII 字符(颜色值),我尝试在一些文本编辑器(kate、gedit)中打开它。

我想做这样的事情:

if goesIntoFile:
print in black
else:
print in color

我该怎么做?

最佳答案

你可以使用 isatty()在您的 stdout 上检查标准输出是 tty(终端)设备还是文件。

检查这个 script.py:

#!/usr/bin/env python
import sys
print sys.stdout.isatty()

运行时:

$ python script.py
True
$ python script.py | cat
False

此外,您可能需要检查一些为您处理此问题的颜色输出库,例如 crayons使用上面的 isatty 方法。

关于linux - linux shell 中的 python 脚本,用于检查命令行是否写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44907875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com