python在linux中输出带颜色的文字的方法 在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信息。 我们可以通过对有用的信息设置不同颜色来达到醒目的效果,因为我平时都是在linux下开发,而linux终端中的颜色是用转义序列控制的,转义序列是以ESC开头,可以用\033完成相同的工作(ESC的ASCII码用十进制表示就是27,等于用八进制表示的33)。 书写格式,和相关说明如下: 复制代码 代码如下: 格式:\033[显示方式;前景色;背景色m 说明: 前景色 背景色 颜色 --------------------------------------- 30 40 黑色 31 41 红色 32 42 绿色 33 43 黃色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色 显示方式 意义 ------------------------- 0 终端默认设置 1 高亮显示 4 使用下划线 5 闪烁 7 反白显示 8 不可见 例子: \033[1;31;40m \033[0m 下面是我在python中使用的方式: 复制代码 代码如下:print '\033[1;31;40m' print '*' * 50 print '*HOST:\t', request.META.get('REMOTE_ADDR') print '*URI:\t', request.path print '*ARGS:\t', QueryDict(request.body) print '*TIME:\t', time.time() - request.start_time print '*' * 50 print '\033[0m' 效果图如下: 当然这只是一种简单的实现方式,而且仅在linux下有效,其它方式可以使用termcolor,或者参考ipython的console实现(pyreadline)。