zoukankan      html  css  js  c++  java
  • termcolor:给输出的内容添加颜色

    楔子

    我们在输出内容的希望能够带上相应的颜色,我们一般会通过类似 33[ ... 这种方式来实现,但是显然比较麻烦。而有两个库:colorama和termcolor 可以帮我们更加方便地实现相应的需求,当然这两个库的底层还是通过 33[ ... 这种方式实现的,只是帮我们进行了封装,我们直接通过指定颜色的英文名即可。

    首先colorama和termcolor都可以实现,但是我个人觉得termcolor实现起来会更方便一些,所以这里介绍termcolor

    用法

    from termcolor import colored
    
    # 假设输出"satori"这个字符串
    # 不带颜色的话,直接print即可
    print("satori")
    
    # 带上颜色的话就是
    print(colored("satori", "red", "on_green"))
    

    将"输出的内容"、"字体颜色"、"背景色"传入到colored函数里面,进行print即可

    colored函数里面支持如下参数:

    • text:输出的内容
    • color:字体颜色,支持red, green, yellow, blue, magenta, cyan, white
    • on_color:背景色,支持on_red, on_green, on_yellow, on_blue, on_magenta, on_cyan, on_white
    • attrs:附加属性,支持bold, dark, underline, blink, reverse, concealed

    color、on_color、attrs默认为None,如果不传递,那么等于不添加相应的效果。

    from termcolor import colored
    
    print("satori")
    
    print(colored("satori", "red", attrs=["bold", "underline"]))
    

    除了colored的方式,还可以通过cprint

    from termcolor import cprint
    
    print("satori")
    
    cprint("satori", "red", "on_green")  # 等价于print(colored("satori", "red", "on_green"))
    

    cprint等于将print和colored进行了一个封装,看一下源码就显而易见了

    def cprint(text, color=None, on_color=None, attrs=None, **kwargs):
        """Print colorize text.
    
        It accepts arguments of print function.
        """
    
        print((colored(text, color, on_color, attrs)), **kwargs)
    

    因此想在输出的内容中带上颜色的话,那么可以使用termcolor模块。

  • 相关阅读:
    elasticsearch 事务日志 sync 都干了些什么?
    elasticsearch 事务日志是个啥东西?
    elasticsearch 分片恢复经历了哪些步骤?
    定向爬取网页内容
    文件查询之三:文件和目录的批量操作
    文件查询之二:文件属性查询
    文件查询之一:文件名和文件后缀查询
    记一次SQL联合查询注入工具的编写
    线程间使用socket通信的计算器
    简单的远程加解密文件
  • 原文地址:https://www.cnblogs.com/traditional/p/12554053.html
Copyright © 2011-2022 走看看