曾祥敬 发表于 2023-2-25 00:44:32

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

目的

在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("\033https://img.jbzj.com/file_images/article/202302/202302240918485.png

多行的控制

print("\033[31mtest")
print("test")
print("test")
print("test")
print("test")
print("test")
print("test")
print("test")
print("test\033https://img.jbzj.com/file_images/article/202302/202302240918486.png

背景的控制

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("\033https://img.jbzj.com/file_images/article/202302/202302240918487.png

显示模式的控制

无背景的情况下进行显示模式的控制
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("\033https://img.jbzj.com/file_images/article/202302/202302240918488.png
有背景的情况下进行显示模式的控制
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
代码演示 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('\033https://img.jbzj.com/file_images/article/202302/202302240918489.png
即使这样貌似也只能做到字体颜色和背景颜色的部分切换(将就着用吧)
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('\033https://img.jbzj.com/file_images/article/202302/2023022409184810.png

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源:https://www.jb51.net/article/276308.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: python调试过程中多颜色输出方式