python在linux中输出带颜色的文字的方法
程序员文章站
2022-05-16 23:02:03
...
在开发项目过程中,为了方便调试代码,经常会向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
格式:\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'
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)。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论