python在linux中输出带颜色的文字的方法


Posted in Python onJune 19, 2014

在开发项目过程中,为了方便调试代码,经常会向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    <!--1-高亮显示 31-前景色红色  40-背景色黑色-->

\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'

效果图如下:
python在linux中输出带颜色的文字的方法

当然这只是一种简单的实现方式,而且仅在linux下有效,其它方式可以使用termcolor,或者参考ipython的console实现(pyreadline)。

Python 相关文章推荐
在Python中的Django框架中进行字符串翻译
Jul 27 Python
python函数式编程学习之yield表达式形式详解
Mar 25 Python
对python读取CT医学图像的实例详解
Jan 24 Python
对python生成业务报表的实例详解
Feb 03 Python
python join方法使用详解
Jul 30 Python
自定义django admin model表单提交的例子
Aug 23 Python
python flask中动态URL规则详解
Nov 22 Python
Python实现钉钉订阅消息功能
Jan 14 Python
matlab、python中矩阵的互相导入导出方式
Jun 01 Python
python 如何上传包到pypi
Dec 24 Python
Python如何快速找到多个字典中的公共键(key)
Apr 29 Python
如何利用python实现列表嵌套字典取值
Jun 10 Python
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 #Python
win7 下搭建sublime的python开发环境的配置方法
Jun 18 #Python
Python写的贪吃蛇游戏例子
Jun 16 #Python
Python中的yield浅析
Jun 16 #Python
python中使用enumerate函数遍历元素实例
Jun 16 #Python
Python中字典(dict)和列表(list)的排序方法实例
Jun 16 #Python
Python实现的几个常用排序算法实例
Jun 16 #Python
You might like
PHP常用代码
2006/11/23 PHP
PHP 常见郁闷问题答解
2006/11/25 PHP
PHP程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
做网页的一些技巧
2007/02/01 Javascript
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
google 搜索框添加关键字实现代码
2010/04/24 Javascript
jQuery中removeData()方法用法实例
2014/12/27 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
JS实现简单的右下角弹出提示窗口完整实例
2016/06/21 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
浅谈JavaScript的自动垃圾收集机制
2016/12/15 Javascript
JavaScript实现的select点菜功能示例
2017/01/16 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
Vue.directive使用注意(小结)
2018/08/31 Javascript
antd组件Upload实现自己上传的实现示例
2018/12/18 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
2020/11/12 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
详解Python中break语句的用法
2015/05/14 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
简单了解Django模板的使用
2017/12/20 Python
python实现多层感知器
2019/01/18 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
CSS3实现精美横向滚动菜单按钮
2017/04/14 HTML / CSS
HTML5 Web 存储详解
2016/09/16 HTML / CSS
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
自考生自我评价分享
2014/01/18 职场文书
人事文员岗位职责
2014/02/16 职场文书
家长给学校的建议书
2014/05/15 职场文书
文化大革命观后感
2015/06/17 职场文书