📅  最后修改于: 2023-12-03 15:18:53.664000             🧑  作者: Mango
在终端输出中添加更丰富的颜色、样式和效果是让程序更易于阅读和理解的一种方法。Python 支持使用 ANSI Escape Codes 在终端输出中添加样式和颜色。在这份指南中,我们将学习如何使用这些 ANSI Escape Codes 在 Python 中添加样式和颜色。
ANSI Escape Codes 是用于添加样式和颜色到终端输出的 ASCII 字符序列。这些序列由 Escape 字符 (\x1b
) 和一系列指令字符组成。
在 Python 中,我们可以使用字符串的 format()
方法和 ANSI Escape Codes 添加样式和颜色到字符串中。
下面是一些常见的 ANSI Escape Codes 及其含义:
\x1b[0m
:重置所有格式和颜色。\x1b[1m
:设置粗体。\x1b[2m
:设置模糊(不常用)。\x1b[3m
:设置斜体。\x1b[4m
:设置下划线。\x1b[5m
:设置闪烁(不常用)。\x1b[7m
:设置反向颜色。\x1b[30m
:设置前景色为黑色。\x1b[31m
:设置前景色为红色。\x1b[32m
:设置前景色为绿色。\x1b[33m
:设置前景色为黄色。\x1b[34m
:设置前景色为蓝色。\x1b[35m
:设置前景色为紫色。\x1b[36m
:设置前景色为青色。\x1b[37m
:设置前景色为白色。\x1b[40m
:设置背景色为黑色。\x1b[41m
:设置背景色为红色。\x1b[42m
:设置背景色为绿色。\x1b[43m
:设置背景色为黄色。\x1b[44m
:设置背景色为蓝色。\x1b[45m
:设置背景色为紫色。\x1b[46m
:设置背景色为青色。\x1b[47m
:设置背景色为白色。为了使用 ANSI Escape Codes 添加样式和颜色到 Python 中的字符串中,我们需要将这些序列添加到字符串中。
下面是一些示例:
text = 'Hello, world!'
print('\x1b[31m' + text + '\x1b[0m') # 红色
print('\x1b[32m' + text + '\x1b[0m') # 绿色
print('\x1b[33m' + text + '\x1b[0m') # 黄色
print('\x1b[34m' + text + '\x1b[0m') # 蓝色
输出:
Hello, world! # 无颜色
Hello, world! # 红色
Hello, world! # 绿色
Hello, world! # 黄色
Hello, world! # 蓝色
我们可以通过将 ANSI Escape Codes 添加到 print()
函数中的字符串的格式化表达式中来实现相同的效果:
text = 'Hello, world!'
print('\x1b[31m{}\x1b[0m'.format(text)) # 红色
print('\x1b[32m{}\x1b[0m'.format(text)) # 绿色
print('\x1b[33m{}\x1b[0m'.format(text)) # 黄色
print('\x1b[34m{}\x1b[0m'.format(text)) # 蓝色
由于 ANSI Escape Codes 会影响终端中其他文本的样式和颜色,我们需要在输出之后使用 \x1b[0m
重置样式和颜色。
下面是一些使用 ANSI Escape Codes 的示例:
print('\x1b[1m' + '粗体' + '\x1b[0m')
print('\x1b[4m' + '下划线' + '\x1b[0m')
print('\x1b[31m' + '红色' + '\x1b[0m')
print('\x1b[41m' + '红色背景' + '\x1b[0m')
输出:
粗体
下划线
红色
红色背景
这份指南提供了在 Python 中使用 ANSI Escape Codes 添加样式和颜色的基础知识。通过使用这些 ANSI Escape Codes,我们可以增强终端输出的可读性和易用性,使代码更易于理解和使用。