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实现基本线性数据结构
Aug 22 Python
简单谈谈Python中的闭包
Nov 30 Python
解决python3在anaconda下安装caffe失败的问题
Jun 15 Python
Python跳出多重循环的方法示例
Jul 03 Python
通过 Django Pagination 实现简单分页功能
Nov 11 Python
Python 中如何实现参数化测试的方法示例
Dec 10 Python
Python.append()与Python.expand()用法详解
Dec 18 Python
TensorFlow内存管理bfc算法实例
Feb 03 Python
python获得命令行输入的参数的两种方式
Nov 02 Python
python给list排序的简单方法
Dec 10 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 Python
Python使用OpenCV实现虚拟缩放效果
Feb 28 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
基于mysql的bbs设计(三)
2006/10/09 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
use jscript with List Proxy Server Information
2007/06/11 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
Nodejs中 npm常用命令详解
2016/07/04 NodeJs
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
Python SQL查询并生成json文件操作示例
2018/08/17 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
余弦相似性计算及python代码实现过程解析
2019/09/18 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
Python统计文本词汇出现次数的实例代码
2020/02/27 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
Python如何将字符串转换为日期
2020/07/31 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
为什么要有struct关键字
2012/05/08 面试题
RIP版本1跟版本2的区别
2013/12/30 面试题
文秘专业大学生求职信
2013/11/10 职场文书
大学生找工作求职信
2014/07/09 职场文书
法定授权委托证明书
2014/09/27 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
2015双创工作总结
2015/07/24 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis
总结Pyinstaller打包的高级用法
2021/06/28 Python
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python