📜  python ansi 颜色 - Python (1)

📅  最后修改于: 2023-12-03 15:18:53.664000             🧑  作者: Mango

Python ANSI 颜色

在终端输出中添加更丰富的颜色、样式和效果是让程序更易于阅读和理解的一种方法。Python 支持使用 ANSI Escape Codes 在终端输出中添加样式和颜色。在这份指南中,我们将学习如何使用这些 ANSI Escape Codes 在 Python 中添加样式和颜色。

ANSI Escape Codes

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

为了使用 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,我们可以增强终端输出的可读性和易用性,使代码更易于理解和使用。