打印表格
Python内置的print函数和字符串格式化可以帮我们实现大部分打印功能,但有时我们想在控制台打印一些类似表格型的数据往往会比较困难,尤其是中文问混合对齐的问题,那是相当头疼。本节给大家介绍一个第三方表格美化模块prettytable,利用这个模块,我们可以把一些数据以表格型漂亮的展示出来。
安装模块
pip install prettytable
每次添加一行
from prettytable import PrettyTable
# 默认表头:Field 1、Field 2...
# 添加表头
table = PrettyTable(["姓名", "年龄", "QQ", '家庭地址'])
# add_row 添加一行数据
table.add_row(["张亚飞", 18, '111111111', '山西晋城'])
table.add_row(["关羽", 29, '222222', '山西运城'])
table.add_row(["刘备", 35, "333333333", '河北涿州'])
# 设置对齐方式,默认居中对齐-m 左对齐-l 右对齐-r
print(table)
table.align = 'l'
print(table)

每次添加一列
from prettytable import PrettyTable
table = PrettyTable()
table.add_column('姓名', ['张亚飞', '关羽', '刘备'])
table.add_column('年龄', [18, 19, 20])
table.add_column('QQ', ['1111111', '2222222', '33333333'])
table.add_column('家庭地址', ['山西晋城', '山西运城', '河北涿州'])
# 对齐方式 默认居中 居中-m 左对齐-l 右对齐-r
# QQ列右对齐
table.align['QQ'] = 'r'
print(table)

打印颜色
在python开发的过程中,经常会遇到需要打印各种信息。海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性。这时候,如果能给重要的信息加上字体颜色,那么就会更加方便用户阅读了。
当然了,控制台的展示效果有限,并不能像前段一样炫酷,只能做一些简单的设置。不过站在可读性的角度来看,已经好很多了。
基本属性
| 显示方式 | 显示效果 |
|---|---|
| 0 | 默认值 |
| 1 | 高亮 |
| 4 | 下划线 |
| 5 | 闪烁 |
| 7 | 反显 |
| 8 | 不可见 |
| 前景色 | 背景色 | 颜色说明 |
|---|---|---|
| 30 | 40 | 黑色 |
| 31 | 41 | 红色 |
| 32 | 42 | 绿色 |
| 33 | 43 | 黄色 |
| 34 | 44 | 蓝色 |
| 35 | 45 | 紫红色 |
| 36 | 46 | 青蓝色 |
| 37 | 47 | 白色 |
语法
\033[显示方式; 前景色; 背景色m\**\033[0m**
其中******表示被标记的内容。可以缺省书写,使用默认设定。
实例演示
实例1:单前景色单点单句标记
print("\033[30m这是黑色字体\033[0m")
print("\033[31m这是红色字体\033[0m")
print("\033[32m这是绿色字体\033[0m")
print("\033[33m这是黄色字体\033[0m")
print("\033[34m这是蓝色字体\033[0m")
print("\033[35m这是紫红色字体\033[0m")
print("\033[36m这是青蓝色字体\033[0m")
print("\033[37m这是白色字体\033[0m")
print("\033[38m这是默认字体\033[0m") # 大于37将显示默认字体
结果:

实例2:显示方式前景色背景色单点单句标记
print("\033[0;31;40m这是默认红色字体背景黑色\033[0m")
print("\033[0;30;41m这是默认黑色字体背景红色\033[0m")
print("\033[0;30;42m这是默认黑色字体背景绿色\033[0m")
print("\033[0;30;43m这是默认黑色字体背景黄色\033[0m")
print("\033[0;30;44m这是默认黑色字体背景蓝色\033[0m")
print("\033[5;30;46m这是闪烁黑色色字体背景紫红色\033[0m")
print("\033[1;30;47m这是高亮青黑色字体背景青蓝色\033[0m")
print("\033[4;30;48m这是下划线黑色字体背景白色\033[0m")
结果:

实例3:多行操作
print("\033[4;35;43m平生不会相思,")
print("才会相思,便害相思。")
print("身似浮云,心如飞絮,")
print("气若游丝。")
print("空一缕馀香在此,")
print("盼千金游子何之。")
print("证候来时,正是何时?")
print("灯半昏时,月半明时。\033[0m")
结果:

小结
本节内容是Python之路的番外篇,属于扩展性知识,今后在某些特定的场合下可能用会用到,但在大部分场景下打印表格和颜色是没有必要的,尤其在大型项目对性能要求比较的场合。还是那句话,知道有这么个东西,把它放在心里的某个角落,以后用的时候可以随时来查阅。OK,本节内容就到这,下课!