6

私は現在、Pythonのフォーマット仕様のミニ言語を使用して、文字列にスペースを埋め込むコードを書いています:

print('''{user:<10}, you're welcome!'''.format(user='John Doe'))

出力は次のとおりです。

John Doe  , you're welcome!

ただし、ユーザーの名前が「Joooooooooooohn Doe」のようなものである場合、次のように出力したいと思います。

Jooooooooo, you're welcome!

フォーマット仕様ミニ言語を使用して切り捨てとパディングを実行する方法はありますか?

ありがとう!

4

1 に答える 1

11

リンク先のページから:

数値型以外の場合、[precision] はフィールドの最大サイズを示します。つまり、フィールド コンテンツから使用される文字数を示します。精度は整数値には使用できません。

精度はピリオドによって導入されます

format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]

したがって、正しいフォーマット文字列は{user:<10.10}.

>>> '{0:<10.10}'.format('1234567')
'1234567   '

>>> '{0:<10.10}'.format('123456789034')
'1234567890'
于 2013-01-13T11:09:08.450 に答える