Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1100825
  • 博文数量: 185
  • 博客积分: 495
  • 博客等级: 下士
  • 技术积分: 1418
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-02 15:12
个人简介

治肾虚不含糖,专注内核性能优化二十年。 https://github.com/KnightKu

文章分类

全部博文(185)

文章存档

2019年(1)

2018年(12)

2017年(5)

2016年(23)

2015年(1)

2014年(22)

2013年(82)

2012年(39)

分类: LINUX

2014-02-18 14:28:33

Console上运行的python程序,有没有办法让print输出的文本可以显示不同的颜色?
这个其实跟python无关,跟具体所用console的类型有关系,不同的类型对应不同的控制码,如果是ansi终端,可以用ansi的控制码。
--------------------------------------以Linux的ansi终端为例----------------------------------


点击(此处)折叠或打开

  1. \33[0m 关闭所有属性
  2. \33[1m 设置高亮度
  3. \33[4m 下划线
  4. \33[5m 闪烁
  5. \33[7m 反显
  6. \33[8m 消隐
  7. \33[30m -- \33[37m 设置前景色
  8. 字颜色:30-----------37
  9. 30:
  10. 31:
  11. 32:绿
  12. 33:
  13. 34:蓝色
  14. 35:紫色
  15. 36:深绿
  16. 37:白色

  17. \33[40m -- \33[47m 设置背景色
  18. 字背景颜色范围:40----47
  19. 40:
  20. 41:深红
  21. 42:绿
  22. 43:黄色
  23. 44:蓝色
  24. 45:紫色
  25. 46:深绿
  26. 47:白色
  27. \33[90m -- \33[97m 黑底彩色
  28. 90:
  29. 91:深红
  30. 92:绿
  31. 93:黄色
  32. 94:蓝色
  33. 95:紫色
  34. 96:深绿
  35. 97:白色

  36. \33[nA 光标上移n行
  37. \33[nB 光标下移n行
  38. \33[nC 光标右移n行
  39. \33[nD 光标左移n行
  40. \33[y;xH设置光标位置
  41. \33[2J 清屏
  42. \33[K 清除从光标到行尾的内容
  43. \33[s 保存光标位置
  44. \33[u 恢复光标位置
  45. \33[?25l 隐藏光标
  46. \33[?25h 显示光标



在python输出信息时,例如print,只要加上对应的控制码对【\33[91m + info + \33[0m】就可以控制输出的信息颜色背景等。

简单的实例:

点击(此处)折叠或打开

  1. class Logger:
  2.         HEADER = '\033[95m'
  3.         OKBLUE = '\033[94m'
  4.         OKGREEN = '\033[92m'
  5.         WARNING = '\033[93m'
  6.         FAIL = '\033[91m'
  7.         ENDC = '\033[0m'
  8.                                                                                    
  9.         @staticmethod
  10.         def log_normal(info):
  11.                 print Logger.OKBLUE + info + Logger.ENDC
  12.                                                                                    
  13.         @staticmethod
  14.         def log_high(info):
  15.                 print Logger.OKGREEN + info + Logger.ENDC
  16.                                                                                    
  17.         @staticmethod
  18.         def log_fail(info):
  19.                 print Logger.FAIL + info + Logger.ENDC



使用:
Logger.log_normal("This is a normal message!")
Logger.log_fail("This is a fail message!")
Logger.log_high("This is a high-light message!")

参考资料:


阅读(21282) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~