0x00 前言
这是在分析Cobra源码的时候看到的,作者使用PrettyTable模块将漏洞扫描结果以表格形式格式化的输出。
这个模块在写CLI形式的工具时,还是会经常用到的,可以使最终的输出结果更加美观、易读。
这篇文章将会对PrettyTable模块的使用做一个简单的介绍。
先贴一张效果图:https://asciinema.org/a/132572
0x01 基础环境
Microsoft Windows 7 专业版
Python 3.6.3
PrettyTable-0.7.2
0x02 PrettyTable模块的安装与使用
一、安装PrettyTable模块
pip3 install PrettyTable
二、PrettyTable模块的使用
这里以命令行工具产生数据后将其输出为例,PrettyTable模块的使用一共分为4个步骤,缺一不可:
1、导入PrettyTable模块
2、设置表格的列数及列名
3、设置表格的对其方式
4、向表格中插入内容(多次插入)
from prettytable import PrettyTable
table = PrettyTable(['No.', 'CVI', 'VUL', 'Rule', 'Lang', 'Level-Score', 'Target', 'Commit(Time, Author)', 'Source Code Content', 'Analysis'])
table.align = 'l'
trigger_rules = []
row = ["1", "130001", "HCP", "password", "PHP", "L-02: ■■□□□□□□□□", "config.php:32", "Unknown, @Unknown", "$dbpassword = 'root';", "REGEX-ONLY-MATCH"]
table.add_row(row)
print(table)
同时,PrettyTable模块还支持以CSV、HTML、SQL文件作为导入、导出结果,由于我暂时用不到,所以就没做过多的测试。
0x03 后记
PrettyTable模块出来可以直接将结果以表格的形式输出外,还支持输出子表格、将结果排序后进行输出,更多丰富的功能可以从参考链接中获取。
此外,安利一个网站Python Example,输入一行Python代码,即可获得很多示例代码供参考引用。
0x04 参考链接