Python 2.7中更漂亮的输出

时间:2013-01-23 12:56:31

标签: python python-2.7

  

可能重复:
  Python format tabular output

如何将以下代码(Python 2.7)的输出放在表格中?

with open('blacklists.bls', 'r') as f:
        L = [dnsbls.strip() for dnsbls in f]
t10 = time.time()
for listofdnsbls in L:
        try:
                t0 = time.time()
                result = socket.gethostbyname("%s.%s" % (ip_reversed(iinput), listofdnsbls))
                t1 = time.time()
                total = t1-t0
                print "%s\t%s\t%s sec" % (listofdnsbls, result, total)
        except (socket.gaierror):
                t2 = time.time()
                error_total = t2-t0
                print "%s\tNo result\t%s sec" % (listofdnsbls, error_total)
t20 = time.time()
totaltotal =t20-t10
print "\nCompleted in: %s sec" % (totaltotal)

目前输出不是很整洁:

rbl.ntvinet.net 77.95.250.11    0.00194096565247 sec
postfix.bondedsender.org    No result   0.329633951187 sec
procmail.bondedsender.org   No result   6.34444999695 sec

我希望它更像是这样:

rbl.ntvinet.net             77.95.250.11    0.00194096565247 sec
postfix.bondedsender.org    No result       0.329633951187 sec
procmail.bondedsender.org   No result       6.34444999695 sec

我发现有一些文件解释使用%1d和%2d,但我无法解决这个问题,因为它们不是数字而是字符串。

1 个答案:

答案 0 :(得分:3)

您也可以在%s修饰符中使用数字。数字的符号确定字符串是左对齐还是右对齐。例如。 %20s用于右对齐字符串,%-20s用于左对齐字符串。