python在windows命令行下輸出彩色文字的方法
本文實(shí)例講述了python在windows命令行下輸出彩色文字的方法。分享給大家供大家參考。具體分析如下:
默認(rèn)情況下python在控制臺(tái)輸出的文字信息都是黑白的,如果能將文字做成彩色的輸出,輸出效果會(huì)更完美,也很酷,不是嗎,下面是一段演示代碼,這段代碼封裝了一個(gè)color類用來輸出帶顏色的文字,只要調(diào)用該類里面的相關(guān)方法就可以了,非常簡(jiǎn)單。
#encoding: utf-8
import ctypes
STD_INPUT_HANDLE = -10
STD_OUTPUT_HANDLE= -11
STD_ERROR_HANDLE = -12
FOREGROUND_BLACK = 0x0
FOREGROUND_BLUE = 0x01 # text color contains blue.
FOREGROUND_GREEN= 0x02 # text color contains green.
FOREGROUND_RED = 0x04 # text color contains red.
FOREGROUND_INTENSITY = 0x08 # text color is intensified.
BACKGROUND_BLUE = 0x10 # background color contains blue.
BACKGROUND_GREEN= 0x20 # background color contains green.
BACKGROUND_RED = 0x40 # background color contains red.
BACKGROUND_INTENSITY = 0x80 # background color is intensified.
class Color:
''' See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/windows_api_reference.asp
for information on Windows APIs. - chabaoo.cn'''
std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
def set_cmd_color(self, color, handle=std_out_handle):
"""(color) -> bit
Example: set_cmd_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY)
"""
bool = ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color)
return bool
def reset_color(self):
self.set_cmd_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)
def print_red_text(self, print_text):
self.set_cmd_color(FOREGROUND_RED | FOREGROUND_INTENSITY)
print print_text
self.reset_color()
def print_green_text(self, print_text):
self.set_cmd_color(FOREGROUND_GREEN | FOREGROUND_INTENSITY)
print print_text
self.reset_color()
def print_blue_text(self, print_text):
self.set_cmd_color(FOREGROUND_BLUE | FOREGROUND_INTENSITY)
print print_text
self.reset_color()
def print_red_text_with_blue_bg(self, print_text):
self.set_cmd_color(FOREGROUND_RED | FOREGROUND_INTENSITY| BACKGROUND_BLUE | BACKGROUND_INTENSITY)
print print_text
self.reset_color()
if __name__ == "__main__":
clr = Color()
clr.print_red_text('red')
clr.print_green_text('green')
clr.print_blue_text('blue')
clr.print_red_text_with_blue_bg('background')
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
詳解利用python識(shí)別圖片中的條碼(pyzbar)及條碼圖片矯正和增強(qiáng)
這篇文章主要介紹了詳解利用python識(shí)別圖片中的條碼(pyzbar)及條碼圖片矯正和增強(qiáng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Python中reset_index()函數(shù)的使用
本文主要介紹了Python中reset_index()函數(shù)的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05Python使用bar繪制堆積/帶誤差棒柱形圖的實(shí)現(xiàn)
本文先講解bar參數(shù)如何使用,然后分別演示堆積柱形圖和帶誤差柱形圖畫法。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09關(guān)于Pandas缺失值inf與nan的處理實(shí)踐
這篇文章主要介紹了關(guān)于Pandas缺失值inf與nan的處理實(shí)踐,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06python實(shí)現(xiàn)無證書加密解密實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)無證書加密解密的方法,實(shí)例講述了無證書加密解密的原理與具體實(shí)現(xiàn)過程,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10詳解Golang 與python中的字符串反轉(zhuǎn)
這篇文章主要介紹了詳解Golang 與python中的字符串反轉(zhuǎn)的相關(guān)資料,這里提供了實(shí)現(xiàn)的實(shí)例以便大家學(xué)習(xí)理解,需要的朋友可以參考下2017-07-07詳解python while 函數(shù)及while和for的區(qū)別
這篇文章主要介紹了python while 函數(shù)及while和for的區(qū)別 ,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09對(duì)Python3中bytes和HexStr之間的轉(zhuǎn)換詳解
今天小編就為大家分享一篇對(duì)Python3中bytes和HexStr之間的轉(zhuǎn)換詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12