【python】解決win10下顏色轉義序列失效的玄學方法
為了讓python在控制檯輸出更醒目清楚,我們會採用系統的顏色轉義序列來改變python print()函式的輸出字型顏色。但是在win10中直接使用轉義序列會失效,原因一直未知。苦苦搜尋,找到一位網友提供的玄學方法(找不到連結了,暫且先感謝他),如下
import os
os.system("") #這是玄學的關鍵,在執行完system()之後,轉移序列都會生效,原因未知
print('\033[1;31;40m test \033[0m')
結果
問題解決。
# 設定控制檯輸出字型顏色
# 格式:\033[顯示方式;前景色;背景色m
# 採用終端預設設定:\033[0m
數值表示的引數含義:
顯示方式: 0(預設值)、1(高亮)、22(非粗體)、4(下劃線)、24(非下劃線)、 5(閃爍)、25(非閃爍)、7(反顯)、27(非反顯)
前景色: 30(黑色)、31(紅色)、32(綠色)、 33(黃色)、34(藍色)、35(洋 紅)、36(青色)、37(白色)
背景色: 40(黑色)、41(紅色)、42(綠色)、 43(黃色)、44(藍色)、45(洋 紅)、46(青色)、47(白色)
# 紅色字型
print
(
'\033[1;31m'
)
print
(
'*'
*
10
)
print
(
'hello world!'
)
print
(
'*'
*
10
)
print
(
'\033[0m'
)
# 綠色字型
print
(
'\033[1;32m'
+
'green'
+
'\033[0m'
)
# 藍色字型
print
(
'\033[1;34m'
+
'blue'
+
'\033[0m'
)
# 黃字下劃線
print
(
'\033[4;33m'
+
'yellow'
+
'\033[0m'
)
# 紅底黑字
print
(
'\033[1;30;41m'
+
'black'
+
'\033[0m'
)
# 白底黑字
print
(
'\033[1;30;47m'
+
'white'
+
'\033[0m'
)
print
(
'normal'
)