📜  py 中的彩色文本 - Python (1)

📅  最后修改于: 2023-12-03 14:45:42.557000             🧑  作者: Mango

在 Python 中使用彩色文本

在交互式的 Python 控制台中,使用彩色文本可以让输出更加美观,也能更加清晰地表达信息。Python 提供了多种方法用于输出彩色文本。

在终端输出彩色文本

我们可以使用 ANSI 转义序列来输出彩色文本。ANSI 转义序列是一些以 Esc 开头的控制码,它们可以被终端解释为不同的显示效果,包括文本颜色、背景色和样式等。

以下是一些基本的 ANSI 转义序列:

  • \033[0m:重设所有属性
  • \033[31m:红色文本
  • \033[32m:绿色文本
  • \033[33m:黄色文本
  • \033[34m:蓝色文本
  • \033[35m:紫色文本
  • \033[36m:青色文本
  • \033[37m:白色文本

我们可以使用 print() 函数输出彩色文本,代码如下:

print('\033[31m' + 'Error: ' + '\033[0m' + 'Something went wrong.')

输出结果为:

Error: Something went wrong.

这个例子将 'Error: ' 用红色字体输出,并将后面的 'Something went wrong.' 用默认颜色输出。

使用 third-party 库

我们也可以使用一些开源的 third-party 库来输出彩色文本,这些库提供了更多的控制和更丰富的颜色选择。

colorama

colorama 是一个为跨平台 Python 应用程序输出彩色终端文字提供简易接口的库。它可以在 Windows 上使用 ANSI 转义序列。

安装 colorama:

pip install colorama

以下是一个例子,使用 colorama.Forecolorama.Back 分别设置前景颜色和背景颜色:

import colorama
colorama.init()

print(colorama.Fore.RED + 'some red text')
print(colorama.Back.GREEN + 'with a green background')
print(colorama.Style.RESET_ALL)
print('back to normal now')

输出结果为:

some red text
with a green background
back to normal now
termcolor

termcolor 是一个 ANSI 前景色输出的 Python 模块。它支持标准的前景色和背景色,也支持加粗和斜体等效果。

安装 termcolor:

pip install termcolor

以下是一个例子:

from termcolor import colored

print(colored('hello', 'red'), colored('world', 'green'))
print(colored('hello, world!', 'blue', 'on_yellow', ['bold', 'blink']))

输出结果为:

hello world
hello, world!

第二个 colored() 函数使用了多个参数,'blue' 是前景色,'on_yellow' 是背景色,['bold', 'blink'] 是样式。

结论

以上是 Python 中使用彩色文本的一些方法,我们可以根据需要选择适合自己的方法。在编写交互式程序时,使用彩色文本可以提高可读性,也可以为应用程序增加一些额外的信息。