为了让python在控制台输出更醒目清楚,我们会采用系统的颜色转义序列来改变python print()函数的输出字体颜色。但是在win10中直接使用转义序列会失效,原因一直未知。苦苦搜寻,找到一位网友提供的玄学方法(找不到链接了,暂且先感谢他),如下
import os
os.system("") #这是玄学的关键,在执行完system()之后,转移序列都会生效,原因未知
print('\033[1;31;40m test \033[0m')
结果
问题解决。
后附颜色转义序列的使用方法(转自:Python设置控制台输出文字的颜色)
# 设置控制台输出字体颜色
# 格式:\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'
)