我有一个实时显示数据的python脚本(每秒)。我想对齐这些。我尝试使用pprint模块,但它不起作用。
示例:我的脚本显示:
Server1 Sessions / s ----------------------- Server2 Sessions / s
64 20
0 20
64 20
64 20
64 20
0 19
128 19
0 19
256 19
192 19
是否可以获得此结果?
Server1 Sessions / s ---------------------- Server2 Sessions / s
64 20
0 20
64 20
64 20
64 20
0 19
128 19
0 19
256 19
192 19
每秒都会打印一个值。我没有列出所有这些或字典。
我要显示的代码:
print("Server1 Sessions/s-----------------Server2 Sessions/s")
while i < self.timer:
print(" " + str(self.serverrqs()*int(self.nbpro)) + " "+ str(self.servernbrqs()))
i += 1
sleep(1)
提前致谢
答案 0 :(得分:1)
您可以使用字符串格式:
>>> '%40s' % 'ab'
' ab'
答案 1 :(得分:1)
它应该是格式字符串
中由' - '指定的左对齐方式print(' %-40s%s' % (self.serverrqs()*int(self.nbpro), self.servernbrqs()))
答案 2 :(得分:1)
您可以按摩以下内容以适应:
from random import randint
for line in range(4):
value1, value2 = randint(0, 16)*16, randint(19,20)
print(" %-4i %-4i" % (value1, value2))
其输出如下:
144 20
0 20
96 20
128 19
Google for:Python字符串插值,了解更多信息。
答案 3 :(得分:0)
使用新式(&gt; = 2.7)formatting
def format_row(leftval, rightval, width=30, fill=u' '):
""""""
row = u' {0}{1:{fill}>{width}}'
width = width - len(unicode(leftval))
return row.format(leftval, rightval, fill=fill, width=width)
print format_row(1, 20)
print format_row(100, 20)
print format_row(100, 200)