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模块。

  • 相关阅读:
    URAL 2046 A
    URAL 2056 Scholarship 水题
    Codeforces Gym 100286I iSharp 水题
    Codeforces Gym H. Hell on the Markets 贪心
    Codeforces Gym 100286G Giant Screen 水题
    Codeforces Gym 100286B Blind Walk DFS
    Codeforces Gym 100286F Problem F. Fibonacci System 数位DP
    Codeforces Gym 100286A. Aerodynamics 计算几何 求二维凸包面积
    Codeforces Gym 100418K Cards 暴力打表
    Codeforces Gym 100418J Lucky tickets 数位DP
  • 原文地址:https://www.cnblogs.com/traditional/p/12554053.html
Copyright © 2011-2022 走看看