- 摘要: 要在Python中打印彩色文本,你可以使用。
simple_color包。'\033[1m'ANSI escap-sequence。termcolor模块。coloroma包。- The
coloredlibrary, prompt_toolkit包。
在Python中打印加粗文本的一个简单的、无库的方法是将一个给定的字符串s ,用特殊的转义序列,像这样。 `print("\033[38;5;4m")`.
我们将在本文的方法2中讨论最Pythonic的解决方案。
你可以在Python中把你的文本改为粗体、斜体和下划线。你不仅可以玩弄你的代码的风格,还可以在Python中特定包和模块的帮助下改变其颜色。
有趣的是!不是吗?
有不同的方法可以做到这一点。在本教程结束时,你将掌握所有的工具来玩弄你的代码的风格。
相关教程。
所以,不要再拖延了,让游戏开始吧!
方法 1:使用simple-color 包
Python 提供了一个壮观的包,名字叫**simple-**color,它使我们能够在终端显示彩色文本。
simple_colors软件包,其中包括如下颜色 蓝色,黑色。 绿色, 品红, 红色, 黄色, , 和 青色.- 你还可以将你的文本格式化为各种样式,如粗体、暗体、斜体、亮体、下划线、反向和闪烁等,这些都包含在软件包中。
由于simple-color 包不是Python标准库的一部分,你需要在使用它之前安装它。要安装simple_color包,在你的终端上复制以下代码。
pip install simple-colors
或。
python -m pip install simple-colors
在你成功地安装了这个模块之后,你可以按照下面的例子中给出的语法来定制/样式你的代码。
例子。下面的例子演示了如何使用simple_colors 模块为文本添加颜色、格式,并使其加粗甚至下划线。
import simple_colors
# colored text
print('Normal:', simple_colors.blue('Welcome Finxter!'))
# BOLD and colored text
print('BOLD: ', simple_colors.green('Welcome Finxter!', 'bold'))
# BOLD and Underlined and colored text
print('BOLD and Underlined: ', simple_colors.red('Welcome Finxter!', ['bold', 'underlined']))
输出。

好哇!这看起来很神奇。
解释。
- 要显示一个彩色的文本,你必须从simple-colors库中调用特定的颜色函数,并在这个函数中传递文本。例如,第一个打印语句在
simple_colors.blue('text')函数的帮助下显示了一个蓝色的文本。同样地,当你调用simple_colors.green('text')方法时,它将生成一个绿色的文本。 - 为了在给文本添加样式的同时添加颜色,我们使用了特定的颜色方法,并将格式化的类型(粗体、斜体、下划线等)作为参数传递给颜色函数。要向你的文本添加一种以上的格式化风格,你可以简单地将格式化风格作为参数传递给函数,将它们打包在一个列表中。
方法2:使用 ANSI逃逸序列
在Python中打印彩色文本的最Pythonic的方法是用特殊的转义序列将给定的字符串s ,比如。print("\033[38;5;4m").
这里有一个最小的例子。
s = "abc"
print("Uncoloured text: ", s)
colored_s = "\033[38;5;4m" + s
print("Coloured text: ", colored_s)
你可以在我们的交互式Jupyter笔记本中自己试试。
接下来让我们深入了解一些进一步的解释,看看为什么会这样。
一些终端支持通过独特的转义序列来修改被打印内容的色调、颜色和外观。这些转义序列被称为ANSI转义序列,是以表明其用途的ANSI标准命名的。
因此,你可以利用内置的ANSI转义序列来创建彩色的内容。下面是你可以在代码中使用的ANSI序列的分类。

- 占位符决定了该颜色是应用于文本本身还是应用于文本背景------。
- **38;5;**是用于文本和
- **48;5;**是用于背景。
- 这后面是颜色代码,范围从0到255。
例子。 下面的例子演示了如何使用Escope-Sequence来同时打印彩色、下划线和粗体文本。
print("\033[31;1;4mThis line gets printed in bold, underlined, and red color.\033[0m")
输出。

注意: 这个代码 **'\033[0m'**是用来结束加粗文本格式的。如果你忘记添加ANSI代码序列来包围特定的代码行,下面的语句也会被打印成黑体格式。
方法3:使用termcolor 模块
在Python中,termcolor 是一个用于ANSII颜色格式化的模块。
该模块带有各种终端的属性和某些文本格式化属性。它还包括各种文本颜色,如蓝色、红色和绿色,以及文本高光,如on-magenta、on-cyan和on-white。
注意: termcolor 模块并不是Python标准库的一部分。因此,在使用它之前,你需要安装它。要安装 模块,在你的终端上复制以下代码。termcolor
pip install termcolor
安装完该模块后,让我们看看如何使用它来打印彩色文本。
例子。
from termcolor import colored
text = colored('Welcome FINXTER!', 'blue', attrs=['bold'])
print(text)
方法4:使用 彩色文本包
ANSI转义字符序列长期以来一直被用来在Unix和Mac上产生彩色的终端文本和光标定位。
Colorama使其在Windows上发挥作用。通过包装stdout,剥离它发现的ANSI序列(这些序列在输出中会显示为胡言乱语),并将它们转换为适当的win32调用来修改终端的状态。
- 注意。
- 在其他平台上,Colorama什么也不做。在Windows中,调用
init(),会将发送到stdout或stderr的任何内容的ANSI转义序列转移,并将其替换为Win32调用。 - 要在程序退出前退出利用Colorama,可以调用
deinit()。它将把stdout和stderr恢复到它们的原始值。
- 在其他平台上,Colorama什么也不做。在Windows中,调用
来源 :https://pypi.org/project/colorama/
由于coloroma 不是 Python 标准库的一部分,你必须在终端使用下面的命令来安装它,才能使用它。
pip install colorama
让我们看一个例子来了解我们如何使用Colorama模块在Python中打印粗体字。
例1:
from colorama import Fore, Style
print(Style.BRIGHT + 'Bold text')
print(Fore.BLUE + 'Printing blue colored text')
print(Style.RESET_ALL)
print('This line has no effect of coloroma')
输出。

**例2:**将coloroma 包和termcolor 模块一起使用。
from colorama import init
from termcolor import colored
init()
print(colored('Hello and Welcome to Finxter!', 'blue', attrs=['bold']))
输出。

方法5:使用colored模块
colored是一个非常简单的Python库,用于在终端为文本着色和格式化。因为它不是一个内置的模块,所以你首先要用 pip 安装它。pip install colored
使用实例。
from colored import fore, back, style
print (fore.RED + back.YELLOW + style.BOLD + "Hello FINXTER!!!" + style.RESET)
输出。

方法6:创建一个Html对象
Prompt_toolkit 包括一个`print_formatted_text()`函数,它与内置的print()函数兼容(尽可能地)。它还支持颜色和格式化。
可以利用HTML来证明一个字符串包含基于HTML的格式化。因此,HTML对象可以识别粗体、斜体和下划线的基本标签。<b>,<i> 和<u> 。
例1:
from prompt_toolkit import print_formatted_text, HTML
print_formatted_text(HTML('<b>This text is bold</b>'))
print_formatted_text(HTML('<i>This text is italic</i>'))
print_formatted_text(HTML('<u>This text is underlined</u>'))
输出。

例2:
由于所有的HTML标签都被映射到样式表的类中,你也可以为一个自定义标签指定一个样式。
from prompt_toolkit import print_formatted_text, HTML
from prompt_toolkit.styles import Style
sty = Style.from_dict({
'y': '#44ff00 bold',
})
print_formatted_text(HTML('<red> Hello and welcome to <u>Finxter!</u> </red>'), style=sty)
输出。

结论
我们终于征服了在 Python 中打印粗体文本的艺术。我们不仅学会了如何打印粗体文本,而且还学会了如何使用颜色和其他格式化样式(如下划线和斜体)来为代码设置样式。我希望这篇文章对你有所帮助。

互动式。