在Python脚本中,我正在读取命令输出并将它们放在循环中以提取特定列,我正在尝试格式化输出,因此它看起来很好但是如果结果中的字符更多,那么它就会变得混乱。我怎么让他们好看?
for i in data:
print i[2], '|', i[12], '\t|', i[9], '\t\t\t|', i[24].split('@')[-1]
输出:
[root@tux work]# ./foo.py
2015-04-24 10:26:44 | RINGING | 17654742161 |
2015-04-24 10:26:44 | RINGING | 00100017654742161 |
2015-04-24 10:13:52 | ACTIVE | 18146252950 | 72.xx.xx.120
2015-04-24 10:24:25 | ACTIVE | 17323576331 | 72.xx.xx.120
我想要像以下一样把
[root@tux work]# ./foo.py
2015-04-24 10:26:44 | RINGING | 17654742161 |
2015-04-24 10:26:44 | RINGING | 00100017654742161 |
2015-04-24 10:13:52 | ACTIVE | 18146252950 | 72.xx.xx.120
2015-04-24 10:24:25 | ACTIVE | 17323576331 | 72.xx.xx.120
答案 0 :(得分:0)
一种方法是使用字符串格式。根据您的样本,可以是这样的:
for i in data:
params = [i[2], i[12], i[9], i[24].split('@')[-1]]
print '{:20s} | {:10s} | {:20s} | {:16s}'.format(*params)
正如@twalberg所评论,您可以阅读更多here