python display color output
起因
在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信息。
解决
我们可以通过对有用的信息设置不同颜色来达到醒目的效果,因为我平时都是在linux下开发,而linux终端中的颜色是用转义序列控 制的,转义序列是以ESC开头,可以用\033完成相同的工作(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
|
格式:\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中使用的方式:
|
1
2
3
4
5
6
7
8
|
print '\033[1;31;40m'print '*' * 50print '*HOST:\t', request.META.get('REMOTE_ADDR')print '*URI:\t', request.pathprint '*ARGS:\t', QueryDict(request.body)print '*TIME:\t', time.time() - request.start_timeprint '*' * 50print '\033[0m' |
效果图如下:

当然这只是一种简单的实现方式,而且仅在linux下有效,其它方式可以使用termcolor,或者参考ipython的console实现(pyreadline)。
python display color output的更多相关文章
- Batch: Display & Redirect Output
Batch How To ... Display & Redirect Output http://www.robvanderwoude.com/battech_redirection.php ...
- python json.dumps(output) ^ SyntaxError: invalid syntax
问题 下面代码在有些机器上执行正常,有些机器上执行报错: import json output={} print json.dumps(output) python代码报错: line 277 pri ...
- Shell displays color output
格式: echo "/033[字背景颜色;字体颜色m字符串/033[控制码" 如果单纯显示字体颜色可以固定控制码位0m. 格式: echo "/033[字背景颜色;字体颜 ...
- echo -e 实现color output
拓展: cp 简化: c'p -rv /data/project/test {.txt,_bak.txt}
- Python数据分析学习(二):Numpy数组对象基础
1.1数组对象基础 .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { bord ...
- Python :数据结构
LearnPython :数据结构 .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .labe ...
- 树莓派 -- oled 续(2) python
上文中的代码通过wiringPi的API调用devfs API来显示图片. 这里分析的Python代码也通过类似的方法来显示图片. 主要用到了两个Library. import spidev impo ...
- Python循环语句及函数的定义
循环语句¶ 重复执行某一个固定的动作或者任务 语法 for 变量 in序列: 语句1 语句2 ..... In [2]: # 列表知识只是以后会讲 # 比如[1,2,3,4,5,6,7] list ...
- 3.Python常用逻辑运算符
#header { /* Initially hidden to prevent FLOUC */ display: none; background-color: #fff; /* Display ...
随机推荐
- iOS Xcode注释的几种使用方法
1.#pragma mark - 方法分割线 2.#pragma mark 要备注的内容 3.// MARK: 要备注的内容 4.// FIXME: 要备注的内容 5.// TODO: 要备注的内容 ...
- 为WPF和Silverlight的Grid添加边框线(zz)
Grid是WPF和Silverlight中的一个重要的布局元素,其他的布局元素还有StackPanel, Canvas, Border等等.从字面上说,Grid是一个表格的意思,它的使用也确实很方 ...
- Python安装pandas
http://blog.sina.com.cn/s/blog_a73687bc0101eenc.html 安装vcforpython: http://www.microsoft.com/en-us/d ...
- XIII Open Cup named after E.V. Pankratiev. GP of Azov Sea
A. Freestyle 如果逆序对为$0$,那么先手必败. 因为每次只能翻转长度为$4k+2$和$4k+3$的区间,所以每次操作之后逆序对的奇偶性一定会发生改变. 因此如果逆序对个数为偶数,则先手必 ...
- BZOJ4110 : [Wf2015]Evolution in Parallel
首先每个串都必须是$S$的子序列,否则无解. 按长度从小到大依次考虑每个串,如果它两边都不能放,那么无解. 如果能放一边,那么放进去,把待定的全部放入另一边. 如果两边都能放,那么看看能否待定,如果不 ...
- hadoop yarn running beyond physical memory used
老是报物理内存越界,kill container,然后把yarn.scheduler.minimum-allocation-mb设成2048就好了 跟这个yarn.nodemanager.pmem-c ...
- 推荐一些mac 系统软件
1. rightzoom http://www.macupdate.com/app/mac/30591/right-zoom 最大化快捷键设置 2. blotter 桌面日历,透明 3. AquaTe ...
- 浅谈Javascript中Promise对象的实现
https://segmentfault.com/a/1190000000684654 What? Promise是CommonJS的规范之一,拥有resolve.reject.done.fail.t ...
- Codeforces Round #253 (Div. 2) A. Anton and Letters
题目很简单,只需要注意带空格的输入用getline即可 #include <iostream> #include <vector> #include <algorithm ...
- ACM: HDU 1028 Ignatius and the Princess III-DP
HDU 1028 Ignatius and the Princess III Time Limit:1000MS Memory Limit:32768KB 64bit IO Form ...