介绍
方法一:内置 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 在终端中设置文本样式的选项。还有很多其他选项可用,所以一定要看看这些其他选项,也许其中一个可能更适合您的需求。
如果你喜欢我的文章,记得关注获取更多的信息。感谢您的阅读,祝您有美好的一天!