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

好哇!这看起来很神奇。
方法2:使用ANSI逃逸序列 '\033[1m'
在Python中打印加粗文本的最Pythonic方法是将给定的字符串s ,像这样用特殊的转义序列包围。print("\033[1m" + s + "\033[0m").
这里有一个最小的例子。
s = "abc"
bold_s = "\033[1m" + s + "\033[0m"
print(bold_s)
print(s)
你可以在我们的交互式Jupyter笔记本中自己试试。
接下来让我们深入了解一些进一步的解释,看看为什么会这样。
一些终端支持通过独特的转义序列来修改被打印内容的色调、颜色和外观。
这些转义序列被称为ANSI转义序列,是根据表明其用途的ANSI标准命名的。
因此,你可以利用内置的ANSI转义序列,使内容或特定的文本变成粗体、下划线、斜体,甚至是彩色的。为了在Python中使用ANSI转义序列打印粗体文本,我们使用: '**\033[1m'**.
例1:为Windows 用户打印BOLD 文本的转义序列
如果你使用的是Windows操作系统,你必须调用os.system() 模块来使ANSI转义序列正常工作。
import os
os.system ("color")
c= {
"head": "\033[95m",
"red": "\033[91m",
"ENDC": "\033[0m",
"Bold": "\u001b[1m",
}
print("\033[31;1;4mThis line gets printed in bold, underlined, and red color \033[0m")
输出。

注意: 代码 **'\033[0m'**用来结束粗体文本格式。如果你忘记添加ANSI代码序列来包围特定的代码行,下面的语句也会被打印成黑体格式。
例2:为LINUX用户打印BOLD 文本的转义序列
print("Hello and welcome to my "'\033[1m' + ''Blog'' + '\033[0m')
方法3:使用termcolor模块
在Python中,termcolor 是一个用于ANSII颜色格式化的模块。
该模块为各种终端和某些文本格式化属性提供了各种属性。它还包括各种文本颜色,如蓝色、红色和绿色,以及文本高亮,如on-magenta、on-cyan和on-white。
因此,我们将使用文本属性中的粗体 属性。
注意: termcolor 模块并不是Python标准库的一部分。因此,在使用它之前,你需要安装它。要安装 模块,请在你的终端上复制以下代码。termcolor
pip install termcolor
安装模块后,让我们看看如何使用它来打印粗体文本。
例子。
from termcolor import colored
text = colored('Hello and Welcome to FINXTER!', attrs=['bold']) # bold-text
print(text)
text2 = colored('This text will be printed in bold and blue color', 'blue', attrs=['bold'])
print(text2)
输出。

方法4:使用Coloroma软件包
ANSI转义字符序列长期以来一直被用来在Unix和Mac上产生彩色的终端文本和光标定位。
Colorama在Windows上也能做到这一点。通过包装stdout,剥离它发现的ANSI序列(这些序列在输出中会显示为胡言乱语),并将它们转换为适当的win32调用以修改终端的状态。
在其他平台上,Colorama什么也不做。在Windows中,调用init() ,会将发送到stdout或stderr的任何内容的ANSI转义序列转移,并将其替换为Win32调用。
要在程序退出前退出利用Colorama,可以调用deinit() 。它将把stdout和stderr恢复到它们的原始值。
来源 :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:创建一个Html对象
Prompt_toolkit 包括一个 `print_formatted_text()`函数,该函数(尽可能)与内置的 [print()](https://blog.finxter.com/python-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('<y> Hello and welcome to <u>Finxter!</u> </y>'), style=sty)
输出。

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

互动式。