成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個 print 函數,挺會玩啊?

開發 后端
本文將介紹如何輸出顏色字體到終端界面中。一起來看一下吧。

在終端中,輸出的字體總是單一顏色的,黑底白字。但是在一些場景并不能很好的滿足輸出的需求,比如在大量而快速輸出中,輸出一些提示性或者警告性的信息,普通的黑底白字輸出可能或起不到作用。

本文將介紹如何輸出顏色字體到終端界面中。

1. ANSI 轉義序列

其實終端不僅能夠顯示程序的輸出。它可以顯示移動光標、為文本著色、清除整個屏幕,并且不僅僅是靜態輸出。比如顏色字體或者閃爍的光標或者是進度條。

我們通過使用特殊的輸出字符串改變終端的輸出行為,最簡單的例子便是換行這個例子:\n

2. 配色方案

有兩種配色方案廣泛應用于終端中:

  • 16 色 (8 背景 + 8 前景)前景即是字體本身的顏色
  • 255 色

16 色

16色的配色方案包含兩個顏色設置,每個8色,一個是背景色一個是字體色(也即前景色),這個配色方案的語法格式如下:

首先舉一個例子 :

\033[1;32;40m

這里 \033[ 是轉義字符 1 代表高亮,32 代表前景色為綠色,背景色為黑色

輸出到終端則是這個效果:

轉義字符

轉義字符可以有三種形式

  • 十六進制:\x16[
  • Unicode:\u001b[
  • 八進制:\033[

樣式

這個樣式指的是字體的顯示樣式:

0(默認值)、1(高亮)、22(非粗體)

4(下劃線)、24(非下劃線)、 5(閃爍)

25(非閃爍)、7(反顯)、27(非反顯)

print('\033[0;32;40m這是一行測試字體\033[0m')
print('\033[1;32;40m這是一行測試字體\033[0m')
print('\033[22;32;40m這是一行測試字體\033[0m')
print('\033[4;32;40m這是一行測試字體\033[0m')
print('\033[24;32;40m這是一行測試字體\033[0m')
print('\033[5;32;40m這是一行測試字體\033[0m')
print('\033[25;32;40m這是一行測試字體\033[0m')
print('\033[7;32;40m這是一行測試字體\033[0m')
print('\033[27;32;40m這是一行測試字體\033[0m')

具體效果看下面的動圖:

需要注意的是具體的效果可能收到使用的終端的限制,目前在CMD中輸出并不會被識別,但是在window terminal中是成功的輸出以上內容。

顏色設置

前景色: 30(黑色)、31(紅色)、32(綠色)、 33(黃色)、34(藍色)、35(洋 紅)、36(青色)、37(白色)

背景色: 40(黑色)、41(紅色)、42(綠色)、 43(黃色)、44(藍色)、45(洋 紅)、46(青色)、47(白色)

前景色,即字體顏色的展示:

print('\033[1;30;40m這是一行黑色測試字體\033[0m')
print('\033[1;31;40m這是一行紅色測試字體\033[0m')
print('\033[1;32;40m這是一行綠色測試字體\033[0m')
print('\033[1;33;40m這是一行黃色測試字體\033[0m')
print('\033[1;34;40m這是一行藍色測試字體\033[0m')
print('\033[1;35;40m這是一行洋紅測試字體\033[0m')
print('\033[1;36;40m這是一行青色測試字體\033[0m')
print('\033[1;37;40m這是一行白色測試字體\033[0m')

背景色:

print('\033[1;37;40m這是一行黑色測試背景\033[0m')
print('\033[1;37;41m這是一行紅色測試背景\033[0m')
print('\033[1;37;42m這是一行綠色測試背景\033[0m')
print('\033[1;37;43m這是一行黃色測試背景\033[0m')
print('\033[1;37;44m這是一行藍色測試背景\033[0m')
print('\033[1;37;45m這是一行洋紅測試背景\033[0m')
print('\033[1;37;46m這是一行青色測試背景\033[0m')
print('\033[1;37;47m這是一行白色測試背景\033[0m')

Colorama 一個顏色輸出的模塊

每次輸入輸出都需要如此配置是非常麻煩的事,Colorama 提供方便的字體顏色輸出的配置

from colorama import init, Fore, Back, Style
# Initializes Colorama
init(autoreset=True)
print(Style.BRIGHT + Back.YELLOW + Fore.RED + "from colorama import init, Fore, Back, Style
# Initializes Colorama
init(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
}
def set_text_color(str_text, style, text_color, background_color):
str = str_text
style_code = style_dict[style]
text_color_code = text_color_dict[text_color]
back_color_code = background_color_dict[background_color]
print_text = f'\033[{style_code};{text_color_code};{back_color_code}m{str}\033[0m'
return print_text

256色

256色的輸出格式和16色的有點不一樣

轉義字符和上面的是一樣的:

  • 十六進制:\x16[
  • Unicode:\u001b[
  • 八進制:\033[

標注顯示模式則是38或者48選擇一個表名后面顏色代碼是前景色還是背景色。

如果想要同時修改,則使用兩個這樣的語句即可:

print("\033[48;5;160m\033[38;5;231m背景前景修改ABCDE \033[38;5;226m前景修改ABCDE\033[0;0m")

輸出一下所有的前景顏色

def print_colors_256(color_code):
num1 = str(color_code)
num2 = str(color_code).ljust(3, ' ')
if color_code % 16 == 0:
return(f"\033[38;5;{num1}m {num2} \033[0;0m\n")
else:
return(f"\033[38;5;{num1}m {num2} \033[0;0m")
print("256 color scheme:")
print('',end=' ')
print(' '.join([print_colors_256(x) for x in range(256)]))

這個效果可能和你的終端輸出不一致,這可能是因為我們的終端使用了不同的主題,對顏色有著不同的修改。

責任編輯:龐桂玉 來源: Python編程
相關推薦

2022-09-27 10:52:25

Pythonprint函數

2020-04-20 09:02:33

函數RPCCPU

2024-11-11 14:57:56

JWTSession微服務

2024-10-11 14:33:15

ReactRemix用戶

2021-06-16 17:46:55

函數指針結構

2021-12-07 06:55:17

節流函數Throttle

2012-08-23 14:23:33

函數式編程

2011-12-26 16:39:43

局部函數

2021-12-09 10:57:19

防抖函數 Debounce

2021-06-07 23:23:44

函數代碼結構化

2022-02-10 07:41:02

JavaScriponce函數

2015-05-25 15:06:28

JavaScript函數式編程

2021-08-12 16:51:04

Windows微軟漏洞

2016-03-01 14:37:47

華為

2021-04-30 08:22:36

異步求和函數

2017-09-15 16:02:15

函數代碼CPU

2009-06-09 21:50:55

Javascript函數getStyle

2020-12-10 11:18:47

Redis搜索引擎Java

2016-09-26 17:26:20

2023-01-03 12:30:25

架構CPUGPU
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜看电影在线观看 | 久久99久久99精品免视看婷婷 | 国产精品99久久久精品免费观看 | 激情91| 午夜精品一区二区三区免费视频 | 久久伊人操 | 国产福利在线 | 成人在线视频免费看 | 国产日韩精品在线 | 久久91| 久久久91| av免费网站在线观看 | 久久91 | 久久亚洲一区二区三区四区 | 国产精品一区二区三区在线 | 久久久青草婷婷精品综合日韩 | 亚洲毛片 | 一区二区成人在线 | 婷婷中文在线 | 亚洲精品自拍视频 | 精品免费国产视频 | 亚洲高清视频一区二区 | 欧美日韩亚洲国产 | 一区二区精品电影 | 在线日韩中文字幕 | 精品国产99 | 国产亚洲精品久久午夜玫瑰园 | 国产中文字幕在线观看 | 黄频免费| 欧美精品二区 | 成人国产免费观看 | 国产一级在线观看 | 亚洲精品无 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 毛片久久久 | 国产日韩欧美二区 | 国产成人啪免费观看软件 | 国产成人精品网站 | 性色的免费视频 | 一区二区三区久久久 | 久艹网站 |