5. Python 操作指南:为终端文本添加颜色和样式

介绍
方法一:内置 Python 文本样式
方法二:使用彩色文本样式
结论
介绍
Python 和许多其他语言一样,可以自定义终端的输出以添加颜色和样式,例如文本的粗体和下划线。

在本操作指南中,我将重点介绍可用于添加颜色和样式的两种方法,以及每种方法的示例。还有其他可用选项,但我将介绍我通常使用的两种主要方法。

让我们从第一种方法开始。

方法一:内置 Python 文本样式
第一种方法是使用 Python 中已有的方法。这种方法的好处是,除了 Python 之外,不需要安装任何东西就可以工作。那么,让我们从一个例子开始。

第一个示例将文本设置为粗体、绿色并显示在黑色背景上(\用于将代码分成不同的行(不包括 033 之前的第一行)):

# --- Display a bold line of green text with a black background:
print("\033[1;32;40m\
Bold (1) green (32) text on a black background(40)")

输出:

在这里插入图片描述
为了分解实现此目的所做的工作,\033[1;32;40m代码的这一部分 ( ) 执行文本格式设置。

\033[  # --- This is an escape character.
1;     # --- This implies that the text should be bold.
32;    # --- This implies that the text should be green.
40m    # --- This implies that the background should be black.

让我们再举一个例子,这次字体颜色为青色,下划线和样式正常:

# --- Display a normal, underlined line of cyan text with a black background:
print("\033[4;36;40m\
Normal, underlined (4) cyan text (36) on a black background (40)")

输出:
在这里插入图片描述
让我们分解这段代码:

\033[  # --- This is an escape character.
4;     # --- This implies that the text should be underlined and normal.
36;    # --- This implies that the text should be cyan.
40m    # --- This implies that the background should be black.

如何确定每个部分使用哪些代码?对于本网站上每个部分的可用内容,都有一个很好的指南。它显示可用的格式选项和颜色代码。

这种方法的主要限制之一是字体颜色和背景颜色都限于八种可能性。因此,它可能无法提供所需的样式。解决这个问题的一种方法是使用库或包,例如我们接下来要看的 colored。

方法二:使用彩色文本样式
Colored 是一个库,可以安装它来简化和扩展终端文本的格式设置选项,超出 Python 中的可用范围。一个主要的好处是它支持八种以上的颜色。

首先,由于它不是 Python 的一部分,因此需要使用 pip 安装它:

pip install colored

现在它已经安装好了,让我们看一个如何使用它的例子:

# --- Import colored:
from colored import fg, bg, attr


# --- Define the colors and styles to use:
text_color = bg("#FFFFFF") + fg("#FF0000")
text_style = attr("bold") + attr("underlined")
text_reset = attr("reset") # Resets the terminal color / style back to its default.


# --- Display a line of bold, underlined text in red 
# --- with a white background:
print(text_color + text_style + \
"Bold, underlined red text on a white background" + \
text_reset)

输出:

在这里插入图片描述
这比方法一中使用的代码多一点,所以让我们分解一下。

首先,导入fg, bg and attr指定导入的特定功能的彩色库。每个人做什么?

bg用于设置背景底色。
fg用于设置前景(字体)颜色。
attr用于设置字体样式,例如给文本加下划线。
和bg都fg可以使用十六进制代码表示颜色,但它们也可以使用预定义名称列表,例如红色。还有其他选项可以代替bg,fg但对于本指南,选择了这些选项。

接下来,定义了三个变量来设置背景和前景 ( text_color)、样式 ( text_style),最后text_reset将终端重置为默认字体样式。

最后,代码的最后一部分是要在终端中显示的文本。和必须放在要使用这些变量格式化的文本前面,否则它们将不会被应用text_color。text_style在要显示的文本之后,text_reset用于将终端字体样式重置为默认值。如果省略,则后面显示的任何文本都将具有相同的样式。

现在,让我们看最后一个例子。这次,文本将有两种颜色可供使用。这个过程非常相似,但有一个额外的颜色变量:

# --- Import colored:
from colored import fg, bg, attr


# --- Define the colors and styles to use
text_color_one = bg("#FFFFFF") + fg("#FF0000") # Red text, black background
text_color_two = bg("#FFFFFF") + fg("#0000FF") # Blue text, black background
text_style = attr("bold") + attr("underlined")
text_reset = attr("reset") # Resets the terminal color / style back to its default.


# # --- Display a line of bold, underlined text in red 
# # --- with a white background and the word 'color' being blue:
print(f"\n{text_color_one}{text_style}Bold, underlined mixed \
{text_color_two}{text_style}color \
{text_color_one}{text_style}text on a white background\
{text_reset}")

输出:
在这里插入图片描述
在这个例子中,唯一的区别是:

使用了 f 字符串(我更喜欢将变量放入字符串中)
“颜色”一词是蓝色的,因为“颜色”之后的文本需要是红色的,所以text_color_one必须再次指定。如果不是,文本的其余部分将是蓝色的。
有关如何使用彩色库的更多详细信息,请参阅pypi.org 上的文档。
结论
正如我之前提到的,这只是两个可用于使用 Python 在终端中设置文本样式的选项。还有很多其他选项可用,所以一定要看看这些其他选项,也许其中一个可能更适合您的需求。

如果你喜欢我的文章,记得关注获取更多的信息。感谢您的阅读,祝您有美好的一天!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q shen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值