精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何輸出顏色字體到終端界面中

馬哥Linux運(yùn)維 ? 來(lái)源:馬哥Linux運(yùn)維 ? 作者:馬哥Linux運(yùn)維 ? 2022-08-29 10:04 ? 次閱讀

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

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

# 1. ANSI 轉(zhuǎn)義序列

其實(shí)終端不僅能夠顯示程序的輸出。它可以顯示移動(dòng)光標(biāo)、為文本著色、清除整個(gè)屏幕,并且不僅僅是靜態(tài)輸出。比如顏色字體或者閃爍的光標(biāo)或者是進(jìn)度條。

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

# 2. 配色方案

有兩種配色方案廣泛應(yīng)用于終端中:

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

255 色

16 色

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

2d1d3ee2-26d9-11ed-ba43-dac502259ad0.png

首先舉一個(gè)例子 :

?33[1;32;40m

這里 ?33[ 是轉(zhuǎn)義字符 1 代表高亮,32 代表前景色為綠色,背景色為黑色

輸出到終端則是這個(gè)效果:

2d2d2910-26d9-11ed-ba43-dac502259ad0.png

轉(zhuǎn)義字符

轉(zhuǎn)義字符可以有三種形式

十六進(jìn)制:x16[

Unicode:u001b[

八進(jìn)制:?33[

樣式

這個(gè)樣式指的是字體的顯示樣式:

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

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

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

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

具體效果看下面的動(dòng)圖:

2d3da66e-26d9-11ed-ba43-dac502259ad0.gif

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

顏色設(shè)置

前景色: 30(黑色)、31(紅色)、32(綠色)、 33(黃色)、34(藍(lán)色)、35(洋 紅)、36(青色)、37(白色)
背景色: 40(黑色)、41(紅色)、42(綠色)、 43(黃色)、44(藍(lán)色)、45(洋 紅)、46(青色)、47(白色)

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

print('?33[1;30;40m這是一行黑色測(cè)試字體?33[0m')
print('?33[1;31;40m這是一行紅色測(cè)試字體?33[0m')
print('?33[1;32;40m這是一行綠色測(cè)試字體?33[0m')
print('?33[1;33;40m這是一行黃色測(cè)試字體?33[0m')
print('?33[1;34;40m這是一行藍(lán)色測(cè)試字體?33[0m')
print('?33[1;35;40m這是一行洋紅測(cè)試字體?33[0m')
print('?33[1;36;40m這是一行青色測(cè)試字體?33[0m')
print('?33[1;37;40m這是一行白色測(cè)試字體?33[0m')
2d567aa4-26d9-11ed-ba43-dac502259ad0.png

背景色:

print('?33[1;37;40m這是一行黑色測(cè)試背景?33[0m')
print('?33[1;37;41m這是一行紅色測(cè)試背景?33[0m')
print('?33[1;37;42m這是一行綠色測(cè)試背景?33[0m')
print('?33[1;37;43m這是一行黃色測(cè)試背景?33[0m')
print('?33[1;37;44m這是一行藍(lán)色測(cè)試背景?33[0m')
print('?33[1;37;45m這是一行洋紅測(cè)試背景?33[0m')
print('?33[1;37;46m這是一行青色測(cè)試背景?33[0m')
print('?33[1;37;47m這是一行白色測(cè)試背景?33[0m')
2d649bde-26d9-11ed-ba43-dac502259ad0.png

Colorama 一個(gè)顏色輸出的模塊

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

fromcoloramaimportinit,Fore,Back,Style

#InitializesColorama
init(autoreset=True)

print(Style.BRIGHT+Back.YELLOW+Fore.RED+"fromcoloramaimportinit,Fore,Back,Style

#InitializesColorama
init(autoreset=True)

print(Style.BRIGHT+Back.YELLOW+Fore.RED+"Colorama")")
2dc9b884-26d9-11ed-ba43-dac502259ad0.png

簡(jiǎn)單的變色函數(shù)

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_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'?33[{style_code};{text_color_code};{back_color_code}m{str}?33[0m'
returnprint_text

256色

256色的輸出格式和16色的有點(diǎn)不一樣

2dd6b110-26d9-11ed-ba43-dac502259ad0.png

轉(zhuǎn)義字符和上面的是一樣的:

十六進(jìn)制:x16[

Unicode:u001b[

八進(jìn)制:?33[

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

如果想要同時(shí)修改,則使用兩個(gè)這樣的語(yǔ)句即可:

print("?33[48;5;160m?33[38;5;231m背景前景修改ABCDE?33[38;5;226m前景修改ABCDE?33[0;0m")
2deffbca-26d9-11ed-ba43-dac502259ad0.png

輸出一下所有的前景顏色

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)]))
2e139472-26d9-11ed-ba43-dac502259ad0.png

這個(gè)效果可能和你的終端輸出不一致,這可能是因?yàn)槲覀兊慕K端使用了不同的主題,對(duì)顏色有著不同的修改。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 屏幕
    +關(guān)注

    關(guān)注

    6

    文章

    1191

    瀏覽量

    55747
  • 終端
    +關(guān)注

    關(guān)注

    1

    文章

    1114

    瀏覽量

    29831
  • 界面
    +關(guān)注

    關(guān)注

    0

    文章

    59

    瀏覽量

    15614

原文標(biāo)題:一個(gè) print 函數(shù),挺會(huì)玩啊?

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何用SS1系列顏色傳感器設(shè)置目標(biāo)顏色

    基于白色LED光源的特性,深視智能SS1系列顏色傳感器突破了傳統(tǒng)單色RGB、融合光RGB的波長(zhǎng)限制,將發(fā)射波長(zhǎng)的范圍覆蓋整個(gè)可見光譜,最大支持檢測(cè)16種顏色。那么,我們?nèi)绾卫?b class='flag-5'>顏色傳
    的頭像 發(fā)表于 11-19 01:04 ?91次閱讀
    如何用SS1系列<b class='flag-5'>顏色</b>傳感器設(shè)置目標(biāo)<b class='flag-5'>顏色</b>?

    Mobaxterm 終端模擬器使用技巧

    在現(xiàn)代IT環(huán)境,遠(yuǎn)程管理和操作服務(wù)器是一項(xiàng)基本技能。Mobaxterm作為一款多功能的終端模擬器,以其直觀的用戶界面和強(qiáng)大的功能集,成為了眾多IT專業(yè)人員的首選工具。 1. 界面概覽
    的頭像 發(fā)表于 11-10 14:29 ?357次閱讀

    雙軸測(cè)徑儀的界面和技術(shù)參數(shù)

    關(guān)鍵字:雙軸測(cè)徑儀, 測(cè)徑儀界面, 雙路測(cè)徑儀, 測(cè)徑儀參數(shù), 測(cè)量軟件界面及功能 1)主界面 測(cè)量系統(tǒng)登錄后將直接進(jìn)入主界面。在測(cè)量狀態(tài)下,圓鋼測(cè)量系統(tǒng)主
    發(fā)表于 11-06 14:08

    xbf 字體 在 串口屏的應(yīng)用有什么優(yōu)勢(shì)

    不需要全部加載到內(nèi)存,可以保留在外部存儲(chǔ)器上,通過回調(diào)函數(shù)來(lái)獲取所需的字體數(shù)據(jù)。 高效率 :由于字體數(shù)據(jù)的訪問是通過回調(diào)函數(shù)完成的,因此可以在RAM較少的系統(tǒng)上使用大規(guī)模字庫(kù)。 優(yōu)化的數(shù)據(jù)結(jié)構(gòu) :XBF格式
    的頭像 發(fā)表于 10-15 11:55 ?1048次閱讀

    探秘PCB板顏色:從外觀內(nèi)涵的多重解讀

    五花八門,從常見的綠色罕見的紅色、藍(lán)色、黑色等,讓人眼花繚亂。那么,這些不同顏色的PCB板到底有何用途?它們的背后又隱藏著怎樣的奧秘呢?本文將為您一一揭曉。 PCB板顏色的由來(lái)和意義 首先,讓我們來(lái)了解一下PCB板
    的頭像 發(fā)表于 10-08 09:21 ?236次閱讀

    低電壓線路零線是什么顏色

    在低壓線路,零線通常采用的顏色是 淡藍(lán)色 。這一規(guī)定有助于在電氣安裝和維護(hù)過程,快速且準(zhǔn)確地識(shí)別出零線,從而提高工作效率和安全性。 淡藍(lán)色作為零線的標(biāo)識(shí)顏色,在電氣行業(yè)
    的頭像 發(fā)表于 09-05 17:03 ?2028次閱讀

    人機(jī)交互界面是什么_人機(jī)交互界面的功能

    人機(jī)交互界面(Human-Computer Interaction Interface,簡(jiǎn)稱HCI或HMI),也被稱為人機(jī)界面(MMI)、操作員界面終端(OIT)、本地操作員
    的頭像 發(fā)表于 06-22 11:03 ?2171次閱讀

    鴻蒙OS開發(fā):典型頁(yè)面場(chǎng)景【一次開發(fā),多端部署】(資源使用)

    在頁(yè)面開發(fā)過程,經(jīng)常需要用到顏色字體、間距、圖片等資源,在不同的設(shè)備或配置,這些資源的值可能不同。
    的頭像 發(fā)表于 05-28 09:44 ?909次閱讀
    鴻蒙OS開發(fā):典型頁(yè)面場(chǎng)景【一次開發(fā),多端部署】(資源使用)

    鴻蒙OS開發(fā):【一次開發(fā),多端部署】應(yīng)用(資源使用)

    在頁(yè)面開發(fā)過程,經(jīng)常需要用到顏色字體、間距、圖片等資源,在不同的設(shè)備或配置,這些資源的值可能不同。
    的頭像 發(fā)表于 05-21 15:43 ?962次閱讀
    鴻蒙OS開發(fā):【一次開發(fā),多端部署】應(yīng)用(資源使用)

    鴻蒙ArkUI-X跨平臺(tái)開發(fā):【資源分類與訪問】

    應(yīng)用開發(fā)過程,經(jīng)常需要用到顏色字體、間距、圖片等資源,在不同的設(shè)備或配置,這些資源的值可能不同。
    的頭像 發(fā)表于 05-20 15:14 ?516次閱讀
    鴻蒙ArkUI-X跨平臺(tái)開發(fā):【資源分類與訪問】

    微軟將控制面板“字體”功能移至Win11設(shè)置

    微軟一直以來(lái)采用漸進(jìn)式遷移策略,將控件面板的功能分散至設(shè)置,現(xiàn)階段并無(wú)全面消除控件面板之意。Win11 的設(shè)置現(xiàn)已具備與控件面板相當(dāng)?shù)默F(xiàn)代字體管理界面,而控件面板內(nèi)的’字體‘功能仍可通過搜索功能開啟(Control Panel》
    的頭像 發(fā)表于 04-22 11:37 ?415次閱讀

    HarmonyOS開發(fā)案例:【app內(nèi)字體大小調(diào)節(jié)】

    使用基礎(chǔ)組件[Slider],通過拖動(dòng)滑塊調(diào)節(jié)應(yīng)用內(nèi)字體大小。
    的頭像 發(fā)表于 04-19 15:36 ?606次閱讀
    HarmonyOS開發(fā)案例:【app內(nèi)<b class='flag-5'>字體</b>大小調(diào)節(jié)】

    stm32cubeIDE 1.6.1 ioc字體很大如何解決?

    今天把stm32cubeIDE 升級(jí)1.6.1版本,就出現(xiàn)打開.ioc配置界面字體很大,設(shè)置的內(nèi)容一屏只能放下幾項(xiàng)的問題,請(qǐng)問大家有知道如何解決這個(gè)問題嗎?之前的版本么有這個(gè)問題
    發(fā)表于 04-07 06:31

    鴻蒙開發(fā)UI界面——@ohos.font (注冊(cè)自定義字體)

    字體管理中注冊(cè)自定義字體。 系統(tǒng)能力: SystemCapability.ArkUI.ArkUI.Full 參數(shù): 參數(shù)名 類型 必填 說明 options FontOptions 是 注冊(cè)的自定義
    的頭像 發(fā)表于 02-22 16:22 ?679次閱讀

    阿童木顏色傳感器應(yīng)用:汽車車身顏色識(shí)別

    的項(xiàng)目。項(xiàng)目的背景是為了在車身噴漆后,通過顏色傳感器自動(dòng)識(shí)別車身顏色,并根據(jù)顏色自動(dòng)運(yùn)輸?shù)讲煌纳a(chǎn)線,以提高生產(chǎn)效率。 項(xiàng)目需求 該汽車生產(chǎn)企業(yè)面臨的主要問題是在光照生產(chǎn)環(huán)境,車身
    的頭像 發(fā)表于 01-26 14:45 ?429次閱讀
    阿童木<b class='flag-5'>顏色</b>傳感器應(yīng)用:汽車車身<b class='flag-5'>顏色</b>識(shí)別