-4

certianのパディングと配置の固定幅の文字列を作成できる関数(できれば組み込み)を探しています。私の場合、(他のデータの中でも)名前のリストがあり、フォーマットファイルで修正する必要があります。

例1:両方"Spams spam and spam""viking inc" 15文字の固定幅フィールドに配置する必要があります。
結果:("Spams spam and ", "viking inc ")

例2:ゼロが埋め込まれた固定幅の文字列に変換(25, 100, 1234567890)する数値バージョン。 結果: <-最初の2文字がどのように削除されたかに注意してください8
("00000025", "00000100" "34567890")

受け入れられる答えには、私をばかと呼んだり、固定幅の文字列を処理するための簡単なものがあると言ったりすることも含まれます。また、これはPython 2.7および3.3で理想的に機能するはずです(当社は現在2.7を使用していますが、まもなく3.3に移行します)

私が試したこと:

"{0:<30}".format("viking inc")  #works
"{0:<30}".format("Spams spam and spam") #does not work, output it too long.
4

1 に答える 1

2

数字について:

>>> for n in (25, 100, 1234567890):
        print('{:0>8}'.format(n)[-8:])

00000025
00000100
34567890

文字列の場合、例は少しあいまいです。最初の15文字(多くても)だけを選択する場合は、次のようにします。

>>> 'Spams spam and spam'[:15]
'Spams spam and '
>>> 'viking inc'[:15]
'viking inc'

例ではなかったように、もう一度パディングしたい場合は、フォーマットを再度使用できます。

>>> '{:<15}'.format('Spams spam and spam'[:15])
'Spams spam and '
>>> '{:<15}'.format('viking inc'[:15])
'viking inc     '
于 2012-12-31T16:23:46.707 に答える