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使用正则搜索字符串或文件中的浮点数代码实例
Jul 11 Python
浅谈Python 对象内存占用
Jul 15 Python
python制作websocket服务器实例分享
Nov 20 Python
Python实现的简单dns查询功能示例
May 24 Python
Java编程迭代地删除文件夹及其下的所有文件实例
Feb 10 Python
python实现求两个字符串的最长公共子串方法
Jul 20 Python
Python socket实现的简单通信功能示例
Aug 21 Python
Django结合ajax进行页面实时更新的例子
Aug 12 Python
python将字母转化为数字实例方法
Oct 04 Python
浅析python标准库中的glob
Mar 13 Python
Python求区间正整数内所有素数之和的方法实例
Oct 13 Python
Elasticsearch 索引操作和增删改查
Apr 19 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与C#分别格式化文件大小的代码
2011/05/14 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
2013/05/23 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
php mysql操作mysql_connect连接数据库实例详解
2016/12/26 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
PHP创建XML接口示例
2019/07/04 PHP
原创javascript小游戏实现代码
2010/08/19 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
关于二级域名下使用一级域名下的COOKIE的问题
2011/11/07 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
JQuery包裹DOM节点的方法
2015/06/11 Javascript
javascript每日必学之封装
2016/02/23 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
Python 多线程抓取图片效率对比
2016/02/27 Python
浅析Python中的for 循环
2016/06/09 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
Python selenium抓取微博内容的示例代码
2018/05/17 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
2020/02/20 Python
PyQt5的QWebEngineView使用示例
2020/10/20 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
物业管理员岗位职责范文
2013/11/25 职场文书
安全教育心得体会
2013/12/29 职场文书
应届毕业生通用的自荐书范文
2014/02/07 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
考试后的感想
2015/08/07 职场文书
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers