簡體   English   中英

在python中打印彩色文本作為輸出不起作用

[英]print colored text as output in python not working

我正在嘗試使用 python 使用彩色輸出

1-我嘗試使用這種格式:

print '\033[1;30mGray like Ghost\033[1;m'

我得到了這個輸出:

←[1;30mGray like Ghost←[1;m

2-我嘗試將 termcolor 包用作:

from termcolor import colored, cprint
text = colored('Hello, World!', 'red', attrs=['reverse', 'blink'])
print(text)

我得到了這個輸出:

[5m[7m[31mHello, World![0m

為什么我不能在輸出中使用顏色?

我嘗試了其他方法,但都給出了幾乎相同的輸出 還有另一種方法可以嘗試嗎?

我知道你只在對 Tom Dee 的回答的評論中提到了 Colorama,而不是在你原來的問題中,但我對 Colorama 有同樣的問題,直到我添加了這段代碼,它在嘗試打印彩色文本之前初始化 Colorama:

from colorama import init
init()

由於您評論說您使用的是 python.exe,我認為您只在 Windows 中嘗試過。 Windows cmd 不支持 ANSI 編碼,如 termcolor 使用的 linux/unix。 因此,您必須使用另一個包來執行此操作。 我建議研究 colorama ( https://pypi.org/project/colorama/ )。

from colorama import Fore, Back, Style
print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

該網站的示例向您展示了如何將前景和背景更改為多種顏色。

在導入loggingcoloredlogs logging之前,我遇到了同樣的問題

from termcolor import colored
import logging, coloredlogs
logger = logging.getLogger(f"Logger")
coloredlogs.install(logger=logger)

它解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM