使用print命令在表中优化Python输出
在Python脚本中,我读取命令输出并将它们放入循环中以提取特定列,我尝试格式化输出,使其看起来很好,但若结果中的字符数很少,那个么它就有点混乱。我该如何让它们看起来漂亮使用print命令在表中优化Python输出,python,linux,scripting,formatting,Python,Linux,Scripting,Formatting,在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 | 176
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
一种方法是使用字符串格式。根据您的样本,可以是这样的:
for i in data:
params = [i[2], i[12], i[9], i[24].split('@')[-1]]
print '{:20s} | {:10s} | {:20s} | {:16s}'.format(*params)
正如@twalberg所评论的那样,您可以阅读更多内容