我正在编写一个python脚本,将输出打印到屏幕(linux shell)中,并且使用彩色打印它。有没有办法知道输出是否进入文件?
示例:
script.py parms
这在shell中给了我很好的彩色输出。
现在,如果我这样做:
script.py parms > output.txt
当我打开文件时,我看到奇怪的ASCII字符(颜色值),我尝试在几个文本编辑器中打开它(凯特,gedit)。
我想做一些类似的事情:
if goesIntoFile:
print in black
else:
print in color
我该怎么做呢?
我在Linux系统上使用Python Colorama将stdout以彩色打印到终端。我使用Linux 'tee‘命令也将此输出捕获到一个文件中。脚本完成后,它会将捕获的文本文件(包括转义序列)通过电子邮件发送到我在Windows上检查的电子邮件地址。这封电子邮件有一个文本文件作为附件,如果我用Windows写字板打开它,我会看到以下内容:
[37m [45m [1m**************************************** [40m
[37m [45m*** Welcome to the QtHttp Test Suite *** [40m
[37m [4
我需要打印一些带有颜色内容的输出到控制台。在windows中可以原子操作吗?在Linux中,有ansi颜色支持,做复杂的有色句子真的很方便。那windows呢?我可以执行以下操作:
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
printf(" this is how it starts ");
SetConsoleTextAttribute(hConsole, 10);
printf("YES, it should be green ");
SetConsoleTextAttribute(hConsole
我在玩ANSI转义序列,例如
echo -e "\e[91mHello\e[m"
在Linux控制台上显示彩色文本。
现在我尝试使用像a=b²一样的上标和下标输出。
我读过关于和的:Partial Line Down (subscript)和Partial Line Up (superscript),但我不确定确切的语法,甚至不确定哪个终端客户端可能支持它。
对此有什么建议吗?
我的python脚本正在导入python的彩色日志模块,但是它给了我错误:-
ImportError: No module named colorlog
这无疑意味着彩色日志包没有安装在我的linux服务器上。当我试图使用下面的命令安装它时,它也不起作用:-
python -m pip install colorlog
/usr/bin/python: No module named pip
python -m pip install logging
/usr/bin/python: No module named pip
我在这里有什么不正确的命令吗?另外,下面是我正在使用的Linux和P