hrp 发表于 2020-9-8 22:40:42

面向对象的初级尝试 | 写一个类似 PrettyTable 但更“好玩”的模块

本帖最后由 hrp 于 2020-10-3 19:00 编辑

模块名称:
ColorfulTable


模块简介
这是一个帮助在终端上打印漂亮表格的 Python3 模块。
    ●支持 Windows 和 Linux 等平台
    ●单元格文字颜色和单元格背景色
    ●水平对齐和垂直对齐
    ●行高(文字行数)和列宽(字符数)
    ●长文本支持单元格内换行
    ●预置不同的表格边框风格、自定义风格
    ●储存对象不限于字符串,可以是任意数据对象,通过对象的 str 方法显示表格内容
    ●等等...


效果截图:




模块源码:
如果你想查看模块完整源码,那你可以使用 git 将源码从 Gitee 仓库克隆至本地:
git clone https://gitee.com/hrpzcf/colorfultable.git
或者从 GitHub:
git clone https://github.com/hrpzcf/colorfultable.git
也可以访问 Gitee 或 GitHub 主页(链接在后面),直接查看源代码或下载压缩包。

部分源码(colors.py模块):
**** Hidden Message *****
主模块 ctcore.py 源码有点长就不贴了,可以克隆仓库再看,也可以直接到 GitHub、Gitee 主页查看。


安装方法:
    ■模块已上传至 PyPi,可以直接通过:pip install colorfultable方法安装模块。
    ■模块仅支持 Python >= 3.5 版本(更低版本未测试所以限制安装了)。

具体用法见:
    ■Gitee 主页
    ■GitHub 主页
    ■PyPi 主页
    ■仓库中的 README.md 文件


最近更新:
2020.10.03: develop 分支的最新提交更新了“脚注”功能及 BUG 修复(版本 201003.0.52),已推送到 GitHub、Gitee,感兴趣的鱼油可以去看看。



如果发现 BUG (肯定是有的) 或者功能建议可以回帖反馈,十分感谢!!


最后祝大家中鱼币!!!


补充:因为程序重构了几次,源码里的注释和函数文档基本都丢的差不多了,后续会不断补上。模块用法可以看上面的“具体用法”(这个写的也比较匆忙){:10_245:}


hrp 发表于 2020-9-8 22:42:33

@Cool_Breeze 模块已完成{:10_254:}

hrp 发表于 2020-9-8 22:43:27

本帖最后由 hrp 于 2020-9-9 10:36 编辑

@不二如是 @wuqramy @冬雪雪冬 @一个账号 @qiuyouzhi @sunrise085 @永恒的蓝色梦想 @叙白 @zltzlt

hrp 发表于 2020-9-8 22:45:19

回帖领鱼币{:10_254:}

sunrise085 发表于 2020-9-8 23:05:28

哇!好多鱼币!先领币,明天再看程序~~

hrp 发表于 2020-9-8 23:28:46

sunrise085 发表于 2020-9-8 23:05
哇!好多鱼币!先领币,明天再看程序~~

三次机会哦{:10_250:}

不二如是 发表于 2020-9-8 23:44:51

不错不错

sunrise085 发表于 2020-9-9 08:36:26

hrp 发表于 2020-9-8 23:28
三次机会哦

那就再试一次

叙白 发表于 2020-9-9 10:23:05

不明觉厉{:10_275:}

hrp 发表于 2020-9-9 10:36:43

叙白 发表于 2020-9-9 10:23
不明觉厉

{:10_250:}

sunrise085 发表于 2020-9-9 11:31:03

看了一下功能,这个模块的确很不错。
写一个程序之后,用这个模块来写程序的help文档很不错。
但是用这个模块写程序好像不是那么实用,很少有在终端显示表格的需求吧。显示表格一般应该是画图或者图形界面吧,再者就是直接写入表格文件。
个人见解,可能对这个模块了解不够,或许认识有点片面

hrp 发表于 2020-9-9 11:59:10

本帖最后由 hrp 于 2020-9-9 12:00 编辑

sunrise085 发表于 2020-9-9 11:31
看了一下功能,这个模块的确很不错。
写一个程序之后,用这个模块来写程序的help文档很不错。
但是用这个 ...

确实是实用程度不够,所以写到后期临时产生了一个将它当成二维列表用来储存数据的想法(存进什么类型数据取出来还是什么类型数据),方便在某些时候调试程序可以比较直观的看到数据表。现在差一个结构调整就能直接用列表索引(二维)的方式直接访问数据了。

_2_ 发表于 2020-9-9 13:31:15

hrp 发表于 2020-9-9 11:59
确实是实用程度不够,所以写到后期临时产生了一个将它当成二维列表用来储存数据的想法(存进什么类型数 ...

总之看上去很不错啦,而且居中和每个单元格的长度处理的也很好
可以看看 rich 库的表格部分的代码,这也是我自知道 Prettytable 之后的又一个解决终端显示需求的库了(Prettytable 只能画表格,rich 功能更多)

hrp 发表于 2020-9-9 14:56:19

_2_ 发表于 2020-9-9 13:31
总之看上去很不错啦,而且居中和每个单元格的长度处理的也很好
可以看看 rich 库的表格部分的代码,这也 ...

rich很强大

Cool_Breeze 发表于 2020-9-9 17:24:54

hrp 发表于 2020-9-8 22:42
@Cool_Breeze 模块已完成

强啊!

hrp 发表于 2020-9-9 22:05:06

Cool_Breeze 发表于 2020-9-9 17:24
强啊!

每个周末都写一点,写了很久{:10_266:}

叙白 发表于 2020-9-10 10:17:56

厉害

hrp 发表于 2020-9-10 12:23:42

叙白 发表于 2020-9-10 10:17
厉害

谢谢支持{:10_254:}

hrp 发表于 2020-9-10 12:24:19

话说我的回帖领鱼币怎么没了,也不能重新设置

_2_ 发表于 2020-9-10 19:01:49

hrp 发表于 2020-9-9 14:56
rich很强大

确实,很长一段时间都是用 rich 的多
大宝藏{:10_256:}
页: [1] 2 3 4 5
查看完整版本: 面向对象的初级尝试 | 写一个类似 PrettyTable 但更“好玩”的模块