如何在Python中打印下划线文本?

899 阅读5分钟

4.5/5 - (2票)

你可以在Python中把你的文本改为粗体斜体和下划线。你不仅可以玩弄你的代码的风格,还可以在Python中特定包和模块的帮助下改变它的颜色。

有趣的是!不是吗?

有不同的方法可以做到这一点。在本教程结束时,你将掌握所有的工具来玩弄你的代码的风格。

相关教程。

所以,不要再拖延了,让游戏开始吧!

⚙ 问题的提出。给定一个字符串。如何在Python中把该字符串打印成下划线文本?

方法1:用ANSI转义序列 '\x1B**[3m'和'\x1B[0m'**'包围字符串

在Python中打印下划线文本最直接的方法是用特殊的ANSI转义序列包围给定的字符串text ,像这样。print("\x1B[4m" + text + "\x1B[0m").

这里有一个最小的例子。

# Print Underlined Text
text = "abc"
underlined_text = "\x1B[4m" + text + "\x1B[0m"
print(underlined_text)
print(text)

你可以在我们的交互式Jupyter笔记本中自己试试。

🧩 互动式在Google Colab中自己尝试一下

请注意,这个转义序列并不能在所有的编辑器和IDE中工作。例如,我让它在Jupyter笔记本中工作,但在我的IDLEshell中不工作。


接下来让我们深入了解一些进一步的解释,看看为什么会这样。

一些终端支持传入独特的转义序列,以修改打印内容的语气、颜色和外观

这些转义序列被称为ANSI转义序列,是以表明其用途的ANSI标准命名的。

因此,你可以利用内置的ANSI转义序列,使内容或特定的文本加粗、下划线、斜体,甚至是彩色的。要打印下划线 **text**在Python中使用ANSI转义序列,我们使用。 '**\x1B[4m' + text + '\x1B[0m'**.

  • '**\x1B[4m'**下划线
  • '**\x1B[1m'**加粗
  • '**\x1B[1;4m'**加粗并加下划线
  • **'\x1B[0m'**是关闭标签

因此,你可以通过用分号分隔多个文本格式化指定符,把它们连在一起。这在下面的例子中有所体现,文本被加粗和下划线。

方法2:用Escape序列使文本加粗和下划线

例1:用Escape序列为Windows 用户打印加粗和下划线的文本

如果你使用的是Windows操作系统,你可能需要调用os.system() 模块来使ANSI转义序列正常工作。

import os
os.system("color")

为了使文本加粗和下划线,你可以用转义序列'\033[1;4m''\033[0m' 来包围文本。

  • '**\x1B[1m'**加粗
  • '**\x1B[4m'**下划线
  • '**\x1B[1;4m'**加粗并下划线
  • **'\x1B[0m'**是结束标签
# Print Bold and Underlined Text
print('\033[1;4m' + 'This text is bold and underlined' + '\033[0m')

输出。

💡 注意: 代码 **'\033[0m'**用来结束加粗和下划线的文本格式。如果你忘记添加ANSI代码序列来包围特定的代码行,下面的语句也会以下划线格式打印,因为你没有关闭格式化的特殊文本。

方法3:使用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 Finxters!'))

# print underlined and colored text
print('underlined: ', green('Welcome Finxter!', 'underlined'))

# print italic and underlined and colored text
print('Italic and Underlined: ', red('Welcome Finxter!', ['italic', 'underlined']))

输出。

惊人的效果!🤩

方法4:使用termcolor模块

在Python中,termcolor 是一个用于ANSII颜色格式化的模块。

该模块为各种终端和某些文本格式化属性提供了各种属性。它还包括各种文本颜色,如蓝色、红色和绿色,以及文本高亮,如on-magenta、on-cyan和on-white。

因此,我们将使用文本属性中的粗体 属性

💡 注意: termcolor 模块并不是Python标准库的一部分。因此,在使用它之前,你需要安装它。要安装 模块,请在你的终端上复制以下代码。termcolor

pip install termcolor

安装完该模块后,让我们来看看如何使用它来打印粗体文本。

例子。

from termcolor import colored

# Underlined Text
text = colored('Hello and Welcome to FINXTER!', attrs=['underline']) 
print(text)

# Underlined + Blue Text
text2 = colored('This text will be printed in underlined and blue color', 'blue', attrs=['underline'])
print(text2)

输出。

方法5:创建一个HTML对象

Prompt_toolkit 包括一个`print_formatted_text()`函数,该函数(尽可能)与内置的 [print()](https://blog.finxter.com/python-print/)函数兼容。它还支持颜色和格式化。

可以利用HTML来证明一个字符串包含基于HTML的格式化。因此,HTML对象可以识别粗体、斜体和下划线的基本标签。<b>,<i><u>

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>'))

输出。

结论

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

请**继续关注订阅**更多有趣的文章!

谢谢你,Rashi Agarwal,感谢你帮助我完成这篇文章。

The Complete Guide to PyCharm

  • 你想快速掌握最流行的Python IDE吗?
  • 本课程将在~90分钟内把你从PyCharm的初学者变成专家。
  • 对于任何一个软件开发者来说,很好地掌握IDE是至关重要的,可以用很少的精力编写、测试和调试高质量的代码。

现在就**加入PyCharm大师班**,明天就能掌握PyCharm!