Python 有没有什么好用的命令行图形库 ?

2020 年 5 月 23 日
 szyp

可能我的描述有点让人摸不着头脑 ,实际上我的需求很简单,就是在命令行打印出下面或者类似的图形,主要是为了日志好看😜

+-------------------------+--------------------------+-------------------------+
| Header Col 1            | Header Col 2             | Header Col3             |
+=========================+==========================+=========================+
| This is the first value | This is the second value | This is the third value |
+-------------------------+--------------------------+-------------------------+
| Red                     | Blue                     | Green                   |
+-------------------------+--------------------------+-------------------------+
| 42                      | 10                       | 1                       |
+-------------------------+--------------------------+-------------------------+

一般情况下,我都是通过 print("+---------------------------+")来做到上面的效果的,但是每次使用都这么麻烦,还要敲那么多无用字符,所以就想问问有没有专门做这个的库:P

4276 次点击
所在节点    Python
12 条回复
renmu123
2020 年 5 月 23 日
prettytable
Sylv
2020 年 5 月 23 日
用过 tabulate,还不错:
https://github.com/astanin/python-tabulate
ClericPy
2020 年 5 月 23 日
上面提过的 terminal table 工具都挺不错的, 我想顺路问下, 有没有带刷新的 panel 版本的表格啊... 类似 htop 那种不断刷新的控制台的
Liyiw
2020 年 5 月 24 日
有人说说 prettytable 和 tabulate 哪个好用吗
ETCartman
2020 年 5 月 24 日
https://github.com/willmcgugan/rich 最近在用,感觉还不错。
szyp
2020 年 5 月 24 日
@renmu123 谢谢,去试试
owwlo
2020 年 5 月 24 日
@ETCartman rich 这个真的好酷!之前做东西有类似需求的时候竟然没有查到!

因为自己的小项目大部分是命令行的,后来把一些公共的部分提取出来做了这个 https://github.com/owwlo/PyTerminalCommander

今天花了点时间加了 overwrite output 的功能: https://asciinema.org/a/333295,楼主如果觉得有趣可以试试 ;)
szyp
2020 年 5 月 24 日
@owwlo 好的,去看看
@ETCartman 确实挺好用,logger 更好看了
songdg
2020 年 5 月 25 日
@ETCartman 非常好用,就是教程太简短了,不知有没有详细点的教程。
ETCartman
2020 年 5 月 25 日
songdg
2020 年 5 月 25 日
@ETCartman 谢谢帮助,试了一下感觉对中文支持不太好,总是对不齐。
songdg
2020 年 5 月 25 日
@renmu123 不知怎么的 prettytable 的 Showing title 好像用不了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/674671

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX