维基体育·(中国)官方网站维基体育·(中国)官方网站

维基体育·(中国)官方网站

新闻中心

新闻中心 News Center

维基体育网址-如何输出颜色字体到终端界面中

发布时间:2023-11-18  浏览:529 次

维基体育网址-如何输出颜色字体到终端界面中

在终端中,输出的字体老是单一色彩的,黑底白字。可是在一些场景其实不能很好的知足输出的需求,好比在年夜量而快速输出中,输出一些提醒性或正告性的消息,通俗的黑底白字输出可能或起不到感化。

本文将引见若何输出色彩字体到终端界面中。

# 1. ANSI 本义序列

其实终端不但可以或许显示法式的输出。它能够显示挪动光标、为文本着色、断根全部屏幕,而且不但仅是静态输出。好比色彩字体或闪灼的光标或是进度条。

我们经由过程利用非凡的输出字符串改变终真个输出行动,最简单的例子即是换行这个例子:

# 2. 配色方案

有两种配色方案普遍利用在终端中:

16 色 (8 布景 + 8 前景)前景便是字体自己的色彩

255 色

16 色

16色的配色方案包括两个色彩设置,每一个8色,一个是布景色一个是字体色(也即前风景),这个配色方案的语法格局以下:

起首举一个例子 :

�33[1;32;40m

这里 �33[ 是本义字符 1 代表高亮,32 代表前风景为绿色,布景色为黑色

输出到终端则是这个结果:

本义字符

本义字符能够有三种情势

十六进制:x16[

Unicode:u001b[

八进制:�33[

样式

这个样式指的是字体的显示样式:

0(默许值)、1(高亮)、22(非粗体)

4(下划线)、24(非下划线)、 5(闪灼)

25(非闪灼)、7(反显)、27(非反显)

print('�33[0;32;40m这是一行测试字体�33[0m')print('�33[1;32;40m这是一行测试字体�33[0m')print('�33[22;32;40m这是一行测试字体�33[0m')print('�33[4;32;40m这是一行测试字体�33[0m')print('�33[24;32;40m这是一行测试字体�33[0m')print('�33[5;32;40m这是一行测试字体�33[0m')print('�33[25;32;40m这是一行测试字体�33[0m')print('�33[7;32;40m这是一行测试字体�33[0m')print('�33[27;32;40m这是一行测试字体�33[0m')

具体结果看下面的动图:

需要留意的是具体的结果可能收到利用的终真个限制,今朝在CMD中输出其实不会被辨认,可是在window terminal中是成功的输出以上内容。

色彩设置

前风景: 30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋 红)、36(青色)、37(白色)布景色: 40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋 红)、46(青色)、47(白色)

前风景,即字体色彩的展现:

print('�33[1;30;40m这是一行黑色测试字体�33[0m')print('�33[1;31;40m这是一行红色测试字体�33[0m')print('�33[1;32;40m这是一行绿色测试字体�33[0m')print('�33[1;33;40m这是一行黄色测试字体�33[0m')print('�33[1;34;40m这是一行蓝色测试字体�33[0m')print('�33[1;35;40m这是一行洋红测试字体�33[0m')print('�33[1;36;40m这是一行青色测试字体�33[0m')print('�33[1;37;40m这是一行白色测试字体�33[0m')

布景色:

print('�33[1;37;40m这是一行黑色测试布景�33[0m')print('�33[1;37;41m这是一行红色测试布景�33[0m')print('�33[1;37;42m这是一行绿色测试布景�33[0m')print('�33[1;37;43m这是一行黄色测试布景�33[0m')print('�33[1;37;44m这是一行蓝色测试布景�33[0m')print('�33[1;37;45m这是一行洋红测试布景�33[0m')print('�33[1;37;46m这是一行青色测试布景�33[0m')print('�33[1;37;47m这是一行白色测试布景�33[0m')

Colorama 一个色彩输出的模块

每次输入输出都需要如斯设置装备摆设长短常麻烦的事,Colorama 供给便利的字体色彩输出的设置装备摆设

fromcoloramaimportinit,Fore,Back,Style#InitializesColoramainit(autoreset=True)print(Style.BRIGHT+Back.YELLOW+Fore.RED+"fromcoloramaimportinit,Fore,Back,Style#InitializesColoramainit(autoreset=True)print(Style.BRIGHT+Back.YELLOW+Fore.RED+"Colorama")")

简单的变色函数

background_color_dict={'BLACK':40,'RED':41,'GREEN':42,'YELLOW':43,'BLUE':44,'MAGENTA':45,'CYAN':46,'WHITE':47}text_color_dict={'BLACK':30,'RED':31,'GREEN':32,'YELLOW':33,'BLUE':34,'MAGENTA':35,'CYAN':36,'WHITE':37}style_dict={'normal':0,'bold':1,'light':2,'italicize':3,'underline':4,'blink':5}defset_text_color(str_text,style,text_color,background_color):str=str_textstyle_code=style_dict[style]text_color_code=text_color_dict[text_color]back_color_code=background_color_dict[background_color]print_text=f'�33[{style_code};{text_color_code};{back_color_code}m{str}�33[0m'returnprint_text

256色

256色的输出格局和16色的有点纷歧样

本义字符和上面的是一样的:

十六进制:x16[

Unicode:u001b[

八进制:�33[

标注显示模式则是38或48选择一个表名后面色彩代码是前风景仍是布景色。

假如想要同时点窜,则利用两个如许的语句便可:

print("�33[48;5;160m�33[38;5;231m布景前景点窜ABCDE�33[38;5;226m前景点窜ABCDE�33[0;0m")

输出一下所有的前景色彩

defprint_colors_256(color_code):num1=str(color_code)num2=str(color_code).ljust(3,'')ifcolor_code%16==0:return(f"�33[38;5;{num1}m{num2}�33[0;0m")else:return(f"�33[38;5;{num1}m{num2}�33[0;0m")print("256colorscheme:")print('',end='')print(''.join([print_colors_256(x)forxinrange(256)]))

这个结果可能和你的终端输出纷歧致,这多是由于我们的终端利用了分歧的主题,对色彩有着分歧的点窜。

审核编纂:彭静



文章来源:维基体育网址 提供



上一篇:维基体育网址-NVIDIA 与 Ampere Computing 携手创建用于云游戏的Arm 架构云原生服务器平台                                                                   下一篇:维基体育网址-美国“芯片法案”正式实施 中国芯积极寻求突围


服务热线

15899971165

维基体育·(中国)官方网站

© Copyright 2023. All Rights Reserved. Designed by 维基体育·(中国)官方网站 丨 备案号:粤ICP备13039630号 丨 网站地图