1

重複の可能性:
Python 形式の表形式の出力

次のコード (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 の使用方法を説明しているドキュメントをいくつか見つけましたが、それらは数値ではなく文字列であるため、機能させることができませんでした。

4

1 に答える 1

3

%s 修飾子内でも数値を使用できます。数値の符号によって、文字列が左揃えか右揃えかが決まります。たとえば%20s、右揃えの文字列と%-20s左揃えの文字列の場合です。

于 2013-01-23T12:59:40.023 に答える