python在cmd視窗顯示彩色文字

2021-08-09 11:42:19 字數 2499 閱讀 5588

新手小白,一直在為cmd視窗的暗白色文字感到苦惱,在網上找了許多方法(也就那兩種

效果圖:

foreground_darkblue = 0x01 # 暗藍色

foreground_darkgreen = 0x02 # 暗綠色

foreground_darkskyblue = 0x03 # 暗天藍色

foreground_darkred = 0x04 # 暗紅色

foreground_darkpink = 0x05 # 暗粉紅色

foreground_darkyellow = 0x06 # 暗黃色

foreground_darkwhite = 0x07 # 暗白色

foreground_darkgray = 0x08 # 暗灰色

foreground_blue = 0x09 # 藍色

foreground_green = 0x0a # 綠色

foreground_skyblue = 0x0b # 天藍色

foreground_red = 0x0c # 紅色

foreground_pink = 0x0d # 粉紅色

foreground_yellow = 0x0e # 黃色

foreground_white = 0x0f # 白色

std_out_handle=ctypes.windll.kernel32.getstdhandle(std_output_handle)

def set_cmd_text_color(color, handle=std_out_handle):

bool=ctypes.windll.kernel32.setconsoletextattribute(handle, color)

return bool

def resetcolor():

set_cmd_text_color(foreground_darkwhite)

def cprint(mess,color):

if color=='暗藍色':

set_cmd_text_color(foreground_darkblue)

elif color=='暗綠色':

set_cmd_text_color(foreground_darkgreen)

elif color=='暗天藍色':

set_cmd_text_color(foreground_darkskyblue)

elif color=='暗紅色':

set_cmd_text_color(foreground_darkred)

elif color=='暗粉紅色':

set_cmd_text_color(foreground_darkpink)

elif color=='暗黃色':

set_cmd_text_color(foreground_darkyellow)

elif color=='暗白色':

set_cmd_text_color(foreground_darkwhite)

elif color=='暗灰色':

set_cmd_text_color(foreground_darkgray)

elif color=='藍色':

set_cmd_text_color(foreground_blue)

elif color=='綠色':

set_cmd_text_color(foreground_green)

elif color=='天藍色':

set_cmd_text_color(foreground_skyblue)

elif color=='紅色':

set_cmd_text_color(foreground_red)

elif color=='粉紅色':

set_cmd_text_color(foreground_pink)

elif color=='黃色':

set_cmd_text_color(foreground_yellow)

elif color=='白色':

set_cmd_text_color(foreground_white)

print(mess)

resetcolor()

if __name__=='__main__':

while 1:

mess=input('資訊:')

color=input('顏色:')

cprint(mess,color)

使用方法:

from cmdfontcolor import *

cprint('資訊','顏色')

cmd命令列視窗顯示中文亂碼

cmd命令列視窗顯示中文亂碼,多是因為cmd命令列視窗字元編碼不匹配導致。修改cmd視窗字元編碼為utf 8,命令列中執行 chcp 65001 切換回中文 chcp 936 這兩條命令只在當前視窗生效,重啟後恢復之前的編碼。切換cmd視窗字元編碼有風險,例如切換過以後中文顯示亂碼,並且不能永久切換...

用vbs執行CMD不顯示視窗的方法彙總

2020年5月7日11 14 47 使用cscript.exe執行vbs會彈出cmd視窗 避免方法 管理員許可權執行cmd,輸入cscript.exe h wscript,將預設的指令碼宿主改為 wscript.exe,即可解決。set ws createobject wscript.shell w...

Unity視窗顯示在最前面

1 得到unity程式視窗的控制代碼 2 判斷unity程式視窗是否在最前面,如果不是,則將其顯示在最前面 dllimport user32.dll private static extern intptr findwindow string lpclassname,string lpwindown...