Python使用Colorama庫美化終端輸出的操作示例
Python Colorama 庫詳解:終端輸出美化的神器
1. Colorama 是什么?
Colorama 是一個(gè) Python 庫,用于在終端中實(shí)現(xiàn)跨平臺(tái)的彩色文本輸出。它主要提供以下功能:
- 為文本添加前景色、背景色。
- 控制文本樣式(如加粗、下劃線)。
- 跨平臺(tái)支持(Windows、Linux 和 macOS)。
它特別適用于 Windows 系統(tǒng),因?yàn)槟J(rèn)情況下,Windows 控制臺(tái)不支持 ANSI 轉(zhuǎn)義序列,而 Colorama 自動(dòng)處理這一兼容性問題。
2. Colorama 的安裝
可以通過 pip 安裝 Colorama:
pip install colorama
安裝完成后,就可以直接在 Python 項(xiàng)目中使用。
3. Colorama 的基本使用
3.1 初始化 Colorama
在使用 Colorama 時(shí),需要先進(jìn)行初始化:
from colorama import init # 初始化(在 Windows 系統(tǒng)下非常重要) init()
3.2 添加顏色
Colorama 提供了三種主要功能模塊:
- Fore:設(shè)置文本的前景色(字體顏色)。
- Back:設(shè)置文本的背景色。
- Style:設(shè)置文本樣式。
以下是一個(gè)簡單的示例:
from colorama import Fore, Back, Style, init
init() # 初始化
print(Fore.RED + '這是紅色的文字')
print(Back.GREEN + '這是綠色背景的文字')
print(Style.BRIGHT + '這是加粗的文字' + Style.RESET_ALL)
# 恢復(fù)默認(rèn)樣式
print('這是默認(rèn)樣式的文字')
運(yùn)行效果:
- 第一行是紅色字體。
- 第二行是綠色背景。
- 第三行是加粗字體。
3.3 恢復(fù)默認(rèn)樣式
為了避免影響后續(xù)輸出,可以在每次設(shè)置后使用 Style.RESET_ALL 重置樣式:
print(Fore.BLUE + "藍(lán)色文字" + Style.RESET_ALL)
print("這是普通的文字")
3.4 綜合示例
下面是一個(gè)綜合示例,用不同顏色輸出日志級(jí)別信息:
from colorama import Fore, Style, init
init()
def log(message, level="INFO"):
if level == "INFO":
print(Fore.GREEN + "[INFO] " + Style.RESET_ALL + message)
elif level == "WARNING":
print(Fore.YELLOW + "[WARNING] " + Style.RESET_ALL + message)
elif level == "ERROR":
print(Fore.RED + "[ERROR] " + Style.RESET_ALL + message)
log("系統(tǒng)啟動(dòng)成功", "INFO")
log("磁盤空間不足", "WARNING")
log("無法連接到數(shù)據(jù)庫", "ERROR")
運(yùn)行效果:
[INFO]顯示為綠色。[WARNING]顯示為黃色。[ERROR]顯示為紅色。
4. 進(jìn)階使用:結(jié)合其他庫
4.1 配合 argparse
在編寫命令行工具時(shí),可以結(jié)合 Colorama 和 argparse,實(shí)現(xiàn)帶顏色的幫助信息輸出:
import argparse
from colorama import Fore, Style, init
init()
parser = argparse.ArgumentParser(description=Fore.CYAN + "這是一個(gè)帶顏色的命令行工具" + Style.RESET_ALL)
parser.add_argument('--name', type=str, help=Fore.GREEN + "請(qǐng)輸入你的名字" + Style.RESET_ALL)
args = parser.parse_args()
print(Fore.MAGENTA + f"你好, {args.name}!" + Style.RESET_ALL)
4.2 配合 logging
可以將 Colorama 用于日志格式的美化:
import logging
from colorama import Fore, init
init()
class ColorFormatter(logging.Formatter):
COLORS = {
"DEBUG": Fore.BLUE,
"INFO": Fore.GREEN,
"WARNING": Fore.YELLOW,
"ERROR": Fore.RED,
"CRITICAL": Fore.MAGENTA,
}
def format(self, record):
color = self.COLORS.get(record.levelname, "")
message = super().format(record)
return color + message + Fore.RESET
logger = logging.getLogger("color_logger")
handler = logging.StreamHandler()
formatter = ColorFormatter("%(levelname)s: %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)
logger.info("系統(tǒng)運(yùn)行正常")
logger.warning("磁盤空間即將耗盡")
logger.error("無法訪問數(shù)據(jù)庫")
5. Colorama 的應(yīng)用場(chǎng)景
- 開發(fā)命令行工具:為輸出添加顏色,提升工具的可讀性和用戶體驗(yàn)。
- 調(diào)試和日志輸出:區(qū)分不同類型的日志信息,如 DEBUG、INFO、WARNING。
- 演示效果:在控制臺(tái)中快速實(shí)現(xiàn)美觀的輸出,增強(qiáng)視覺效果。
6. 總結(jié)
Colorama 是一個(gè)功能強(qiáng)大且易于使用的終端輸出美化工具,尤其適用于跨平臺(tái)場(chǎng)景。在開發(fā)中合理利用 Colorama,可以讓你的工具更加專業(yè)和友好。
你是否也在使用 Colorama?或者有其他更好的終端美化方案?歡迎在評(píng)論區(qū)分享!
完整代碼示例:
from colorama import Fore, Back, Style, init init() print(Fore.CYAN + "歡迎使用 Colorama" + Style.RESET_ALL) print(Fore.YELLOW + "這是一個(gè)簡單的示例") print(Back.RED + "帶紅色背景的文本" + Style.RESET_ALL) print(Style.DIM + "這是淡化的文字" + Style.RESET_ALL)
運(yùn)行效果:
- 輸出文本顏色豐富,樣式清晰。
以上就是Python使用Colorama庫美化終端輸出的操作示例的詳細(xì)內(nèi)容,更多關(guān)于Python Colorama美化終端輸出的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python3中內(nèi)置類型bytes和str用法及byte和string之間各種編碼轉(zhuǎn)換 問題
這篇文章主要介紹了Python3中內(nèi)置類型bytes和str用法及byte和string之間各種編碼轉(zhuǎn)換問題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09
python2.7讀取文件夾下所有文件名稱及內(nèi)容的方法
python,本身來說是一門高級(jí)編程語言,python它入門簡單,有基礎(chǔ)的學(xué)起來很快就能有簡單的應(yīng)用,但是在非常高的抽象計(jì)算中,高級(jí)的python程序設(shè)計(jì)也是非常難學(xué)的。接下來給大家介紹python2.7讀取文件夾下所有文件名稱及內(nèi)容的方法,一起看看吧2018-02-02
python保留小數(shù)函數(shù)的幾種使用總結(jié)
本文主要介紹了python保留小數(shù)函數(shù)的幾種使用總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
python+requests+unittest API接口測(cè)試實(shí)例(詳解)
下面小編就為大家?guī)硪黄猵ython+requests+unittest API接口測(cè)試實(shí)例(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
django數(shù)據(jù)模型on_delete, db_constraint的使用詳解
這篇文章主要介紹了django數(shù)據(jù)模型on_delete, db_constraint的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Python HTMLTestRunner測(cè)試報(bào)告view按鈕失效解決方案
這篇文章主要介紹了Python HTMLTestRunner測(cè)試報(bào)告view按鈕失效解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05

