更改shell中的文本颜色
这个问题在这里已经有了答案:
使用Curses或ANSI转义序列。 在开始喷出转义序列之前,您应该检查stdout是否为tty。 你可以用sys.stdout.isatty()
来做到这一点。 这是一个从我的项目中获取的函数,它使用ANSI转义序列根据状态打印红色或绿色的输出:
def hilite(string, status, bold):
attr = []
if status:
# green
attr.append('32')
else:
# red
attr.append('31')
if bold:
attr.append('1')
return 'x1b[%sm%sx1b[0m' % (';'.join(attr), string)
我刚才描述了很受欢迎的图书馆clint。 除了着色终端上的输出外,还有更多的功能。
顺便说它支持MAC,Linux和Windows终端。
这里是使用它的例子:
安装(在Ubuntu中)
pip install clint
为一些字符串添加颜色
colored.red('red string')
示例:使用颜色输出(django命令样式)
from django.core.management.base import BaseCommand
from clint.textui import colored
class Command(BaseCommand):
args = ''
help = 'Starting my own django long process. Use ' + colored.red('<Ctrl>+c') + ' to break.'
def handle(self, *args, **options):
self.stdout.write('Starting the process (Use ' + colored.red('<Ctrl>+c') + ' to break)..')
# ... Rest of my command code ...
所有主要的颜色代码在https://www.siafoo.net/snippet/88上给出
链接地址: http://www.djcxy.com/p/87055.html