当前位置 : 主页 > 编程语言 > python >

python调试过程中多颜色输出方式

来源:互联网 收集:自由互联 发布时间:2023-03-17
目录 目的 主要语法 代码演示 linux系统 颜色的控制 多行的控制 背景的控制 显示模式的控制 代码演示 windows系统 总结 目的 在python开发的过程中,经常会遇到需要打印各种信息。海量的
目录
  • 目的
  • 主要语法
  • 代码演示 linux系统
    • 颜色的控制
    • 多行的控制
    • 背景的控制
    • 显示模式的控制
  • 代码演示 windows系统
    • 总结

      目的

      在python开发的过程中,经常会遇到需要打印各种信息。海量的信息堆砌在终端中,就会导致信息都混在一起,降低了重要信息的可读性。

      这时候,如果能给重要的信息加上字体颜色,那么就会更加方便用户阅读了。

      当然了,控制台的展示效果有限,并不能像前段一样炫酷,只能做一些简单的设置。

      不过站在可读性的角度来看,已经好很多了。

      主要语法

      主要是通过一个固定格式的字符串进行控制

      # 代码解释
      # 颜色控制开始
      print('\033[显示方式编号;前景色编号;背景色编号m')
      # 颜色控制结束(切换回终端默认的格式)如果没有这个之后的内容都会按照上面的颜色控制开始设置的颜色进行输出
      print('\033[0m')
      
      
      #======linux======
      # 连在一起,可以实现仅对本次想要输出的内容进行颜色控制
      # 只在单个字符串内可以有效使用所以只能使用'控制字符串'+'***'的方式或者'控制字符串''***'或者'控制字符串***'的方式
      # '控制字符串','***'这种方式是无效的
      print('\033[显示方式编号;前景色编号;背景色编号m'+本次想要输出的内容+'\033[0m')
      print('\033[显示方式编号;前景色编号;背景色编号m'本次想要输出的内容'\033[0m')
      
      
      #======windows======
      # 只在单个字符串内可以有效使用所以只能使用'控制字符串'+'***'的方式或者'控制字符串''***'或者'控制字符串***'的方式
      # '控制字符串','***'这种方式是无效的
      import colorama
      from colorama import init,Fore,Back,Style
      init(autoreset=True)
      print('\033[显示方式编号;前景色编号;背景色编号;m本次想要输出的内容')
      print('\033[显示方式编号;前景色编号;背景色编号;m''本次想要输出的内容')
      # windows下不需要结束回到默认输出模式  下一行自动会回复
      
      前景色颜色设置前景色编号黑色30红色31绿色32黃色33蓝色34紫红色35青蓝色36白色37 背景色颜色设置背景色编号黑色40红色41绿色42黃色43蓝色44紫红色45青蓝色46白色47 显示方式显示方式编号终端默认设置0加粗显示1暗色显示2倾斜3使用下划线4闪烁(好像看不出来他闪烁)5反色显示(交换前后景)7不可见8

      代码演示 linux系统

      颜色的控制

      # 小于30 大于37 都会显示默认字体
      print("\033[30m这是黑色字体\033[0m")#不会显示
      print("\033[31m这是红色字体\033[0m")
      print("\033[32m这是绿色字体\033[0m")
      print("\033[33m这是黄色字体\033[0m")
      print("\033[34m这是蓝色字体\033[0m")
      print("\033[35m这是紫色字体\033[0m")
      print("\033[36m这是青色字体\033[0m")
      print("\033[37m这是白色字体\033[0m")
      print("\033[38m这是默认字体\033[0m")  
      

      image-20210601150132327

      多行的控制

      print("\033[31mtest")
      print("test")
      print("test")
      print("test")
      print("test")
      print("test")
      print("test")
      print("test")
      print("test\033[0m")  
      

      image-20210601150239673

      背景的控制

      print("\033[1;31;40m这是黑色背景\033[0m")
      print("\033[1;31;41m这是红色背景\033[0m")
      print("\033[1;31;42m这是绿色背景\033[0m")
      print("\033[1;31;43m这是黄色背景\033[0m")
      print("\033[1;31;44m这是蓝色背景\033[0m")
      print("\033[1;31;45m这是紫色背景\033[0m")
      print("\033[1;31;46m这是青色背景\033[0m")
      print("\033[1;31;47m这是白色背景\033[0m")
      print("\033[1;31;48m这是默认背景\033[0m")  
      

      image-20210601150520778

      显示模式的控制

      无背景的情况下进行显示模式的控制

      print("\033[0m这是默认显示方式\033[0m")
      print("\033[1m这是加粗显示方式\033[0m")
      print("\033[2m这是暗色显示方式\033[0m")
      print("\033[3m这是倾斜显示方式\033[0m")
      print("\033[4m这是下划线显示方式\033[0m")
      print("\033[5m这是闪烁显示方式\033[0m")
      print("\033[7m这是反色显示方式\033[0m")
      print("\033[8m这是不可见显示方式\033[0m")  
      

      image-20210601151413458

      有背景的情况下进行显示模式的控制

      print("\033[0;31;47m这是默认显示方式\033[0m")
      print("\033[1;31;47m这是加粗显示方式\033[0m")
      print("\033[2;31;47m这是暗色显示方式\033[0m")
      print("\033[3;31;47m这是倾斜显示方式\033[0m")
      print("\033[4;31;47m这是下划线显示方式\033[0m")
      print("\033[5;31;47m这是闪烁显示方式\033[0m")
      print("\033[7;31;47m这是反色显示方式\033[0m")
      print("\033[8;31;47m这是不可见显示方式\033[0m")  
      

      代码演示 windows系统

      windows的控制台略有不同,需要更改一点点细节

      • 首先好像它只控制一行(见TEST1,TEST2),所以可以不用结尾
      • 需要加一个头文件的配置
      • 不是每种颜色都能显示出来,大家可以试试(我这里前景色都用红色,背景色都用白色来测试)
      • 貌似颜色调控是好用的可能python在windows的包和linux的包不一样吧
      • 输入控制阶段背景色和m间需要加上分号
      import colorama
      from colorama import init,Fore,Back,Style
      init(autoreset=True)
      print('TESTBASE')
      print('\033[0;30;47;m'+ 'TEST1')
      print('TEST2')
      print('\033[1;30;47;m'+ 'TEST3')
      print('\033[2;30;47;m'+ 'TEST4')
      print('\033[4;30;47;m'+ 'TEST5')
      print('\033[5;30;47;m'+ 'TEST6')
      print('\033[7;30;47;m'+ 'TEST7')
      print('\033[8;30;47;m'+ 'TEST8')
      

      image-20210601145607588

      即使这样貌似也只能做到字体颜色和背景颜色的部分切换(将就着用吧)

      import colorama
      from colorama import init,Fore,Back,Style
      init(autoreset=True)
      print('\033[1;31;47;mTEST1_char_color')
      print('\033[1;32;47;mTEST2_char_color')
      print('\033[1;33;47;mTEST3_char_color')
      print('\033[1;34;47;mTEST4_char_color')
      print('\033[1;35;47;mTEST5_char_color')
      print('\033[1;36;47;mTEST6_char_color')
      print('\033[1;37;47;mTEST7_char_color')
      print('\033[1;37;41;mTEST1_back_color')
      print('\033[1;37;42;mTEST2_back_color')
      print('\033[1;37;43;mTEST3_back_color')
      print('\033[1;37;44;mTEST4_back_color')
      print('\033[1;37;45;mTEST5_back_color')
      print('\033[1;37;46;mTEST6_back_color')
      print('\033[1;37;47;mTEST7_back_color')
      

      image-20210601153146810

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

      上一篇:Python base64和hashlib模块及用法详解
      下一篇:没有了
      网友评论