Python 如何讓列印內容變得優雅(顏色列印)
文章目錄
- Python 如何讓列印內容變得優雅(顏色列印)
- 前言
- 書寫格式
- 格式表
- 對照表
- 常見開頭格式
- 字體顏色更改
- 字體底紋更改
- 字體顏色+底紋更改
- 為什么加結尾
- 使用小技巧
前言
直接的print()列印輸出的字體樣式是大家最熟悉不過的,但有沒有什么辦法可以更改顏色等樣式呢?答案是肯定的,我們能通過增加一部分代碼來更改列印輸出的樣式,這樣不僅能將列印輸出的內容優雅的展示在控制臺上,還能更好的區分列印的結果是哪段程式控制的,

書寫格式
print(\033[顯示方式;前景色;背景色m + 列印內容 + 結尾部分:\033[0m)
格式表
對照表
顯示模式
| 顯示方式 | 效果 | 效果展示 |
|---|---|---|
| 0 | 終端默認設定 | ![]() |
| 1 | 高亮顯示 | ![]() |
| 4 | 使用下劃線 | ![]() |
| 5 | 閃爍 | ![]() |
| 7 | 反白顯示 | ![]() |
| 8 | 不可見 | ![]() |
顯示顏色
| 字體色 | 背景色 | 顏色描述 |
|---|---|---|
| 30 | 40 | 白色 |
| 31 | 41 | 紅色 |
| 32 | 42 | 綠色 |
| 33 | 43 | 黃色 |
| 34 | 44 | 藍色 |
| 35 | 45 | 紫紅色 |
| 36 | 46 | 青藍色 |
| 37 | 47 | 黑色 |
常見開頭格式
| 開頭格式 | 格式描述 |
|---|---|
| \033[0m | 默認字體正常顯示,不高亮,等同于平時直接print()的輸出樣式 |
| \033[1;32m | 綠色字體無底紋高亮顯示 |
| \033[1;32;47m | 綠色字體白色底紋高亮顯示 |
| \033[1;31;46m | 紅色字體青藍色底紋高亮顯示 |
| \033[4;32m | 使用下劃線綠色字體無底紋顯示 |
| \033[4;32;47m | 使用下劃線綠色字體白色底紋顯示 |
字體顏色更改
print("\033[1;30m日照香爐生紫煙,遙看瀑布掛前川\033[0m")
print("\033[1;31m日照香爐生紫煙,遙看瀑布掛前川\033[0m")
print("\033[1;32m日照香爐生紫煙,遙看瀑布掛前川\033[0m")
print("\033[1;33m日照香爐生紫煙,遙看瀑布掛前川\033[0m")
print("\033[1;34m日照香爐生紫煙,遙看瀑布掛前川\033[0m")
print("\033[1;35m日照香爐生紫煙,遙看瀑布掛前川\033[0m")
print("\033[1;36m日照香爐生紫煙,遙看瀑布掛前川\033[0m")
print("\033[1;37m日照香爐生紫煙,遙看瀑布掛前川\033[0m")
顯示效果
字體底紋更改
print("\033[1;40m一代天驕,成吉思汗,只識彎弓射大雕\033[0m")
print("\033[1;41m一代天驕,成吉思汗,只識彎弓射大雕\033[0m")
print("\033[1;42m一代天驕,成吉思汗,只識彎弓射大雕\033[0m")
print("\033[1;43m一代天驕,成吉思汗,只識彎弓射大雕\033[0m")
print("\033[1;44m一代天驕,成吉思汗,只識彎弓射大雕\033[0m")
print("\033[1;45m一代天驕,成吉思汗,只識彎弓射大雕\033[0m")
print("\033[1;46m一代天驕,成吉思汗,只識彎弓射大雕\033[0m")
print("\033[1;47m一代天驕,成吉思汗,只識彎弓射大雕\033[0m")
顯示效果
由于沒有添加字體顏色,直接指定底紋色后會默認以白色作為字體顏色,等同于\033[1;30;40m
字體顏色+底紋更改
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")
顯示效果
為什么加結尾
至于為什么要加結尾,這個理由也很簡單,開頭部分:\033[顯示方式;前景色;背景色m將輸出樣式更改,但更改后的樣式可不會在下次自己改回去,我們在列印輸出完后如果不加上結尾部分:\033[0m,就會出現下面的情況
print("\033[1;32m日照香爐生紫煙,")
print("遙看瀑布掛前川,")
print("飛流直下三千尺,")
print("疑是銀河落九天,")
print("\033[0m")
原本只是想第一句日照香爐生紫煙變換顏色,結果下面列印的內容都變換了顏色
當然如果是故意這樣就另當別論,可一般來說,在變換完列印樣式之后都會把結尾加上
使用小技巧
一般來說每列印輸出內容總是要敲\033…的格式非常麻煩,有沒有什么方法只用敲一次輸出格式也能在不同地方的代碼列印也用上呢?很簡單,寫在函式里定義這個功能就行了,
def print_c(data, color=32):
"""
顏色樣式列印輸出功能
:param data: 列印內容
:param color: 指定顏色, 默認為綠色(32)
:return:
"""
if isinstance(color, int):
color = str(color)
print(f"\033[1;{color}m{data}\033[0m")
print_c("顏色樣式列印輸出功能")
顯示效果

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/252683.html
標籤:python
上一篇:初學者對finally的認知










