繁体   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