更改shell中的文本颜色

这个问题在这里已经有了答案:

  • 在颜色的终端打印? 36个答案

  • 使用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

    上一篇: change text color in shell

    下一篇: Is logging allowed outside of a function definition?