0

私はリアルタイム(毎秒)でデータを表示するPythonスクリプトを持っています。これらを揃えたい。pprintモジュールを試してみましたが、機能しません。

例:私のスクリプトはこれを表示します:

Server1セッション/秒-----------------------Server2セッション/秒

    64                                20
    0                                20
    64                                20
    64                                20
    64                                20
    0                                19
    128                                19
    0                                19
    256                                19
    192                                19

この結果を得ることができますか?

Server1セッション/秒----------------------Server2セッション/秒

    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)

前もって感謝します

4

4 に答える 4

1

文字列の書式設定を使用できます。

>>> '%40s' % 'ab'
'                                      ab'
于 2012-08-31T09:52:35.087 に答える
1

フォーマット文字列の「-」で指定された左揃えである必要があります

print('        %-40s%s' % (self.serverrqs()*int(self.nbpro), self.servernbrqs()))
于 2012-08-31T10:04:27.497 に答える
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文字列補間。

于 2012-08-31T10:04:28.013 に答える
0

新しいスタイル(> = 2.7)のフォーマット

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)
于 2012-08-31T10:12:10.530 に答える