Python受欢迎的原因之一就是其计算生态丰富,据不完全统计,Python 目前为止有约13万+的第三方库。
本系列将会陆续整理分享一些有趣、有用的第三方库。
-
通过百度网盘获取:
链接:https://pan.baidu.com/s/1FSGLd7aI_UQlCQuovVHc_Q?pwd=mnsj
提取码:mnsj
-
前往GitHub获取:
https://github.com/returu/Python_Ecosystem
pip install colorama
-
Fore模块:
Fore.BLACK # 黑
Fore.RED # 红
Fore.GREEN # 绿
Fore.YELLOW # 黄
Fore.BLUE # 蓝
Fore.MAGENTA # 品红
Fore.CYAN # 青
Fore.WHITE # 白
Fore.RESET # 重置字体色
from colorama import Fore
print(Fore.RED + "红色文本")
print(Fore.GREEN + "绿色文本")
-
Back模块:
Back.BLACK # 黑
Back.RED # 红
...(同 Fore 的常量)
示例代码:
from colorama import Back
print(Back.BLUE + "蓝色背景的文本")
-
Style模块
:
使用 Style 设置文本样式。
Style.DIM # 暗淡
Style.NORMAL # 正常
Style.BRIGHT # 高亮
Style.RESET_ALL # 重置所有样式
示例代码:
from colorama import Style
print(Style.BRIGHT + "加粗文本")
print(Style.UNDERLINE + "下划线文本")
上述三个模块可以组合使用,同时设置前景色、背景色和样式。
print(Fore.YELLOW + Back.BLUE + Style.BRIGHT + "黄色文字在蓝色背景上")
可以使用上述colorama的常量简写来实现跨平台的彩色文本打印,也直接在代码中手动打印 ANSI 序列:
print(' 33[31m' + '一些红色文本')
print(' 33[39m') # 并恢复默认颜色
在Windows终端使用时,需要先进行初始化操作,colorama提供了以下两种初始化方式:
-
just_fix_windows_console():
如果对Colorama的唯一要求就是让ANSI转义字符在Windows上运行,可以运行以下代码:
from colorama import just_fix_windows_console
just_fix_windows_console()
-
init():
也可以使用功能更多(但也有更多潜在问题)的旧接口:
from colorama import init
init()
另外,init()接受一些 **kwargs 来覆盖默认行为:
-
init(autoreset=False):如果设置为 True,每次打印后会自动重置颜色设置,避免后续打印内容受到颜色设置的影响。如果未设置autoreset=True,需要手动使用Style.RESET_ALL重置颜色。
-
init(strip=None):传递 True 或 False 来覆盖是否应该从输出中移除 ANSI 代码。默认行为是在 Windows 上或输出被重定向(不是终端)时移除。 -
init(convert=None):传递 True 或 False 来覆盖是否将输出中的 ANSI 代码转换为 win32 调用。默认行为是在 Windows 上并且输出是终端时进行转换。 -
init(wrap=True):如果设置为False,会禁用对sys.stdout和sys.stderr的包装。如果autoreset、strip或convert为True,则会启用包装。
在终端中进行文本格式化时,可以使用格式化字符串的方式对文本进行对齐、布局控制等操作。
from colorama import init, Fore, Back, Style, just_fix_windows_console
from time import sleep
# 初始化(Windows 必选,其他平台可选)
just_fix_windows_console() # 初始化方式一
# init(autoreset=True) # 初始化方式二:自动重置样式
# 颜色列表
colors_list = [Fore.RED, Fore.GREEN, Fore.YELLOW, Fore.BLUE, Fore.MAGENTA, Fore.CYAN]
# 打印文本
for color in colors_list:
# 打印居中对齐的文本
print('{:^40}'.format(color + '居中对齐的文本'))
# print(color + '变色文本')
sleep(1) # 暂停一秒
终端输出效果如下所示:

更多内容可以前往GitHub查看:
https://github.com/tartley/colorama


本篇文章来源于微信公众号: 码农设计师