73

フィールド間の位置が固定された固定サイズの書式設定された文字列を作成したいと考えています。例はよりよく説明します。ここでは明らかに 3 つの異なるフィールドがあり、文字列は固定サイズです。

XXX        123   98.00
YYYYY        3    1.00
ZZ          42  123.34

このような書式設定を Python (2.7) の文字列に適用するにはどうすればよいですか?

4

1 に答える 1

161

もちろん、.formatメソッドを使用してください。例えば、

print('{:10s} {:3d}  {:7.2f}'.format('xxx', 123, 98))
print('{:10s} {:3d}  {:7.2f}'.format('yyyy', 3, 1.0))
print('{:10s} {:3d}  {:7.2f}'.format('zz', 42, 123.34))

印刷します

xxx        123    98.00
yyyy         3     1.00
zz          42   123.34

必要に応じてフィールド サイズを調整できます。文字列のフォーマットとは.format無関係に機能することに注意してください。print文字列を表示するためにprintを使用しました。簡単な説明:

10s10個のスペースで文字列をフォーマットし、デフォルトで左揃えにします

3d3 つのスペースを確保する整数をフォーマットし、デフォルトで右揃えにします

7.2ffloat をフォーマットし、7 つのスペースを確保し、小数点の後に 2 つ、デフォルトで右揃えにします。

文字列の配置/書式設定 (パディング、左揃え/右揃えなど) には多くの追加オプションがあります。詳細については、文字列の書式設定操作を参照してください。

f-string モードの更新。例えば、

text, number, other_number = 'xxx', 123, 98
print(f'{text:10} {number:3d}  {other_number:7.2f}')

右揃えの場合

print(f'{text:>10} {number:3d}  {other_number:7.2f}')
于 2012-05-31T15:53:28.807 に答える