让Python的DeBug看起来更舒爽!

最近刚学了Python,敢脚上,很有快速开发的意味,写起来那叫一个爽!
不过当程序中debug越来越多的时候,在terminal中眼花缭乱的输出,眼睛都要看直了@_@
在痛苦很久之后在网上就看到了相关print加颜色的文章,下面分享下网上找到的一段代码。原来的代码是只能给字符串加色输出的,我稍微改了下,增加了多变量(可与obj混合输出)的输出。

不废话,上码!

"""
格式:\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          <!--采用终端默认设置,即取消颜色设置-->
"""
def B_Red(*s):
   if len(s)>1:
      print '\033[7;31;40m',
      for i in s:
         print i,
      print '\033[0m'
   else:
      print '\033[7;31;40m%s\033[0m'%(s)
def F_Red(*s):
   if len(s)>1:
      print '\033[1;31;40m',
      for i in s:
         print i,
      print '\033[0m'
   else:
      print '\033[1;31;40m%s\033[0m'%(s)
def B_Green(*s):
   if len(s)>1:
      print '\033[7;32;40m',
      for i in s:
         print i,
      print '\033[0m'
   else:
      print '\033[7;32;40m%s\033[0m'%(s)
def F_Green(*s):
   if len(s)>1:
      print '\033[1;32;40m',
      for i in s:
         print i,
      print '\033[0m'
   else:
      print '\033[1;32;40m%s\033[0m'%(s)
def B_Yellow(*s):
   if len(s)>1:
      print '\033[7;33;40m',
      for i in s:
         print i,
      print '\033[0m'
   else:
      print '\033[7;33;40m%s\033[0m'%(s)
def F_Yellow(*s):
   if len(s)>1:
      print '\033[1;33;40m',
      for i in s:
         print i,
      print '\033[0m'
   else:
      print '\033[1;33;40m%s\033[0m'%(s)
def B_Purple(*s):
   if len(s)>1:
      print '\033[7;35;40m',
      for i in s:
         print i,
      print '\033[0m'
   else:
      print '\033[7;35;40m%s\033[0m'%(s)
def F_Purple(*s):
   if len(s)>1:
      print '\033[1;35;40m',
      for i in s:
         print i,
      print '\033[0m'
   else:
      print '\033[1;35;40m%s\033[0m'%(s)
def B_Blue(*s):
   if len(s)>1:
      print '\033[7;34;40m',
      for i in s:
         print i,
      print '\033[0m'
   else:
      print '\033[7;34;40m%s\033[0m'%(s)
def F_Blue(*s):
   if len(s)>1:
      print '\033[1;34;40m',
      for i in s:
         print i,
      print '\033[0m'
   else:
      print '\033[1;34;40m%s\033[0m'%(s)
def B_Cyanine(*s):
   if len(s)>1:
      print '\033[7;36;40m',
      for i in s:
         print i,
      print '\033[0m'
   else:
      print '\033[7;36;40m%s\033[0m'%(s)
def F_Cyanine(*s):
   if len(s)>1:
      print '\033[1;36;40m',
      for i in s:
         print i,
      print '\033[0m'
   else:
      print '\033[1;36;40m%s\033[0m'%(s)

#############e.g.##############
array = [1,2,3,4,5]
dic = {'a':array,'b':array}
string = 'whoops!'
B_Red(string,array,dic)

当然,其中print也可以使用pprint,看起来也许会更美观点

    原文作者:ShuraChow
    原文地址: https://segmentfault.com/a/1190000000509915
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞