使用Python怎么在cmd中打印彩色文字?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。
首先分別介紹GetStdHandle()和SetConsoleTextAttribute()這兩個API。
(1) GetStdHandle()的作用是獲取輸入、輸出/錯誤的屏幕緩沖區的句柄。函數聲明如下:
HANDLE GetStdHandle( DWORD nStdHandle );
其參數nStdHandle的值為下面幾種類型的一種:
STD_INPUT_HANDLE 標準輸入的句柄 STD_OUTPUT_HANDLE 標準輸出的句柄 STD_ERROR_HANDLE 標準錯誤的句柄
GetStdHandle()返回標準的輸入、輸出或錯誤的設備的句柄,也就是獲得輸入、輸出/錯誤的屏幕緩沖區的句柄。
(2)SetConsoleTextAttribute() 的作用是在控制臺中設置輸入或輸出文本的文本顏色和背景顏色。其函數聲明如下:
BOOL SetConsoleTextAttribute( HANDLE hConsoleOutput, // console 屏幕緩沖區的句柄 WORD wAttributes // 文本及背景的顏色 );
文本與背景顏色設置可以參考Windows上"color /?"命令的說明。顏色屬性由兩個十六進制數字指定 -- 第一個為背景,第二個則為前景。每個數字可以為以下任何值之一,如下
= 黑色 8 = 灰色 = 藍色 9 = 淡藍色 = 綠色 A = 淡綠色 = 淺綠色 B = 淡淺綠色 = 紅色 C = 淡紅色 = 紫色 D = 淡紫色 = 黃色 E = 淡黃色 = 白色 F = 亮白色
如果函數設置文本及背景顏色成功,則返回非0。如果設置失敗返回0。
prt_cmd_color.py參考代碼如下:
#-*- coding:utf-8 -*-#
#filename: prt_cmd_color.py
import ctypes,sys
STD_INPUT_HANDLE = -10
STD_OUTPUT_HANDLE = -11
STD_ERROR_HANDLE = -12
#字體顏色定義 text colors
FOREGROUND_BLUE = 0x09 # blue.
FOREGROUND_GREEN = 0x0a # green.
FOREGROUND_RED = 0x0c # red.
FOREGROUND_YELLOW = 0x0e # yellow.
# 背景顏色定義 background colors
BACKGROUND_YELLOW = 0xe0 # yellow.
# get handle
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
#reset white
def resetColor():
set_cmd_text_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)
#green
def printGreen(mess):
set_cmd_text_color(FOREGROUND_GREEN)
sys.stdout.write(mess + '\n')
resetColor()
#red
def printRed(mess):
set_cmd_text_color(FOREGROUND_RED)
sys.stdout.write(mess + '\n')
resetColor()
#yellow
def printYellow(mess):
set_cmd_text_color(FOREGROUND_YELLOW)
sys.stdout.write(mess + '\n')
resetColor()
#white bkground and black text
def printYellowRed(mess):
set_cmd_text_color(BACKGROUND_YELLOW | FOREGROUND_RED)
sys.stdout.write(mess + '\n')
resetColor()
if __name__ == '__main__':
printGreen('printGreen:Gree Color Text')
printRed('printRed:Red Color Text')
printYellow('printYellow:Yellow Color Text')輸出展示:

說明:如果需要增加不同前景色或者背景色的組合輸出,可以參考代碼和上述顏色編號增加。
使用實例
1、將上述prt_cmd_color.py文件放在與待執行腳本ping_ip.py同一目錄下。或者通過sys.path.append()將prt_cmd_color.py文件所在的目錄添加到搜索路徑下。
2、ping_ip.py腳本中import prt_cmd_color導入模塊或者執行from prt_cmd_color import printGreen, printRed導入指定函數。
3、ping_ip.py代碼內容如下:
import os, sys
sys.path.append('d:\temp')
from prt_cmd_color import printGreen, printRed
for ip in ['192.168.1.104', '192.168.1.105']:
ret = os.system('ping -n 2 -w 3 %s > nul' % (ip,))
if ret == 0:
printGreen("%s success" % (ip,))
else:
printRed("%s fail" % (ip,))4、執行結果如下圖所示。命令執行成功,以綠色顯示提示信息,執行失敗以紅色顯示提示信息。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯成都網站設計公司行業資訊頻道,感謝您對創新互聯成都網站設計公司的支持。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、網站設計器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文名稱:使用Python怎么在cmd中打印彩色文字-創新互聯
本文來源:http://www.yijiale78.com/article10/djjdgo.html
成都網站建設公司_創新互聯,為您提供網站改版、面包屑導航、App設計、移動網站建設、外貿網站建設、網站維護
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯