zoukankan      html  css  js  c++  java
  • python display color output

    起因

          在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信息。

    解决

          我们可以通过对有用的信息设置不同颜色来达到醒目的效果,因为我平时都是在linux下开发,而linux终端中的颜色是用转义序列控 制的,转义序列是以ESC开头,可以用33完成相同的工作(ESC的ASCII码用十进制表示就是27,等于用八进制表示的33)。

          书写格式,和相关说明如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    格式:33[显示方式;前景色;背景色m
     
    说明:
    前景色            背景色           颜色
    ---------------------------------------
    30                40              黑色
    31                41              红色
    32                42              绿色
    33                43              黃色
    34                44              蓝色
    35                45              紫红色
    36                46              青蓝色
    37                47              白色
    显示方式           意义
    -------------------------
    0                终端默认设置
    1                高亮显示
    4                使用下划线
    5                闪烁
    7                反白显示
    8                不可见
     
    例子:
    33[1;31;40m    <!--1-高亮显示 31-前景色红色  40-背景色黑色-->
    33[0m          <!--采用终端默认设置,即取消颜色设置-->

          下面是我在python中使用的方式:

    1
    2
    3
    4
    5
    6
    7
    8
    print '33[1;31;40m'
    print '*' * 50
    print '*HOST: ', request.META.get('REMOTE_ADDR')
    print '*URI: ', request.path
    print '*ARGS: ', QueryDict(request.body)
    print '*TIME: ', time.time() - request.start_time
    print '*' * 50
    print '33[0m'

          效果图如下:
    python项目中输出指定颜色的日志
          当然这只是一种简单的实现方式,而且仅在linux下有效,其它方式可以使用termcolor,或者参考ipython的console实现(pyreadline)。

  • 相关阅读:
    elasticSearch数据库、skywalking集群部署
    spring boot admin 源码包的编译
    spring cloud config 配置文件更新
    网关拦截:使用用户登录
    Spring Boot Admin 2.1.4最新实战教程
    Spring Boot 整合 Apollo
    spring-boot admin的使用
    第三模块 :微服务网关Zuul架构和实践
    如何实现内核模块与内核版本的解耦
    记录一次内核热补丁制作流程
  • 原文地址:https://www.cnblogs.com/root-wang/p/4475556.html
Copyright © 2011-2022 走看看