我试图在python中创建一个很好的列列表,用于我创建的命令行管理工具。
基本上,我想要一份清单如下:
[['a', 'b', 'c'], ['aaaaaaaaaa', 'b', 'c'], ['a', 'bbbbbbbbbb', 'c']]
变成:
a b c
aaaaaaaaaa b c
a bbbbbbbbbb c
在这里,使用普通制表符不会起作用,因为我不知道每行中最长的数据。
这与Linux中的“column-t”相同。。
$ echo -e "a b c\naaaaaaaaaa b c\na bbbbbbbbbb c"
a b c
aaaaaaaaaa b c
a bbbbbbbbbb c
$ echo -e "a b c\naaaaaaaaaa b c\na bbbbbbbbbb c" | column -t
a b c
aaaaaaaaaa b c
a bbbbbbbbbb c
我到处寻找各种python库来完成这项工作,但找不到任何有用的东西。
这样做的目的是计算最长的数据项来确定列宽,然后在打印每一列时使用
.ljust()
添加必要的填充。由于Python2.6+,您可以按照以下方式使用format string将列设置为至少20个字符,并将文本向右对齐。
输出:
我带着同样的要求来到这里,但是@lvc和@Preet的答案似乎更符合
column -t
在这些列中产生的不同宽度:相关问题 更多 >
编程相关推荐