番外篇:控制台打印表格和颜色

打印表格

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,本节内容就到这,下课!


文章作者: 张亚飞
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张亚飞 !
评论
 上一篇
第1篇:Go语言入门及环境搭建 第1篇:Go语言入门及环境搭建
一、Go语言介绍1. Go语言诞生背景最近十年来,C/C++在计算领域没有很好得到发展,并没有新的系统编程语言出现。对开发程度和系统效率在很多情况下不能兼得。要么执行效率高,但低效的开发和编译,如C++;要么执行低效,但拥有有效的编译,如.
2020-12-26
下一篇 
Go学习指南 Go学习指南
Go学习指南 Go基础 第1篇:Go入门及环境搭建 第2篇:Go快速上手 第3篇:条件语句和循环语句 第4篇:基础数据类型 第5篇:复合数据类型之数组 第6篇:引用数据类型之切片 第7篇:切片的底层实现 第8篇:引用数据类型之指针 第9篇
2020-12-25
  目录