回答:
あなたはこれを行うことができますstr.ljust(width[, fillchar]):
左揃えされた文字列を長さwidthの文字列で返します。パディングは、指定されたfillcharを使用して行われます(デフォルトはスペースです)。幅がより小さい場合、元の文字列が返され
len(s)ます。
>>> 'hi'.ljust(10)
'hi        '複雑な文字列をフォーマットする場合でも機能する柔軟なメソッドの場合、おそらく次のいずれかの方法を使用して、文字列フォーマットのミニ言語を使用する必要がありますstr.format()
>>> '{0: <16} StackOverflow!'.format('Hi')  # Python >=2.6
'Hi               StackOverflow!'>>> f'{"Hi": <16} StackOverflow!'  # Python >= 3.6
'Hi               StackOverflow!''{message: <{fill}}'.format(message='Hi', fill='16')
                    str.format()1つだけで{...}他には何もないテンプレートには使用しないでください。format()関数を使用するだけで、解析のオーバーヘッドを節約できますformat('Hi', '<16')。
                    new(ish)文字列フォーマットメソッドを使用すると、ネストされたキーワード引数で楽しいことができます。最も単純なケース:
>>> '{message: <16}'.format(message='Hi')
'Hi             '16変数として渡したい場合:
>>> '{message: <{width}}'.format(message='Hi', width=16)
'Hi              'キット全体とkaboodleの変数を渡す場合:
'{message:{fill}{align}{width}}'.format(
   message='Hi',
   fill=' ',
   align='<',
   width=16,
)その結果(あなたはそれを推測した):
'Hi              'あなたはこれを試すことができます:
print "'%-100s'" % 'hi'"'%+100s'" % 'hi'を期すために、スペースを右側に配置することで機能します'hi'
                    これを行う正しい方法は、公式ドキュメントに記載されている Pythonのフォーマット構文を使用することです。
この場合、単純に次のようになり
'{:10}'.format('hi')
ます。
'hi        '
説明:
format_spec ::=  [[fill]align][sign][#][0][width][,][.precision][type]
fill        ::=  <any character>
align       ::=  "<" | ">" | "=" | "^"
sign        ::=  "+" | "-" | " "
width       ::=  integer
precision   ::=  integer
type        ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"あなたが知る必要があるほとんどすべてがそこにあります^。
更新:Python 3.6以降では、リテラル文字列補間によりさらに便利になりました!
foo = 'foobar'
print(f'{foo:10} is great!')
# foobar     is great!使用str.ljust():
>>> 'Hi'.ljust(6)
'Hi    'あなたも検討すべきであるstring.zfill()、str.ljust()とstr.center()文字列の書式。これらは連鎖させることができ、 ' fill '文字を指定できます。
>>> ('3'.zfill(8) + 'blind'.rjust(8) + 'mice'.ljust(8, '.')).center(40)
'        00000003   blindmice....        'これらの文字列フォーマット操作には、Python v2およびv3で機能するという利点があります。
pydoc strいつか見てみましょう:そこにはたくさんの良いものがあります。
0を削除すると、代わりにスペースが追加されます。
>>> print  "'%6d'"%4スライスを使用する方がよりパイソンのようではないでしょうか?
たとえば、10文字になるまで文字列の右側にスペースを埋め込むには:
>>> x = "string"    
>>> (x + " " * 10)[:10]   
'string    '15文字になるまで左側にスペースを入れます。
>>> (" " * 15 + x)[-15:]
'         string'もちろん、パディングしたい長さを知る必要がありますが、最初の文字列の長さを測定する必要はありません。
''.join(reversed(str))は、はpythonicよりも言っているようなものstr[::-1]です。
                    (x + " " * 10)[:10]私の意見では、を使用するよりもはるかに複雑ですx.ljust(10)。
                    さまざまな印刷形式の代わりに使用する素晴らしいトリック:
(1)右側にスペースを埋め込む:
('hi' + '        ')[:8](2)左側に先行ゼロを埋め込む:
('0000' + str(2))[-4:]min_len = 8その後、('hi' + ' '*min_len)[:min_len]または('0'*min_len + str(2))[-min_len]
                    ('0'*min_len + str(2))[-min_len:]はむしろおもしろいですが、これはおもしろいので他の答えをお勧めします。
                    リスト内包表記を使用してそれを行うことができます。これにより、スペースの数についてのアイデアも得られ、1つのライナーになります。
"hello" + " ".join([" " for x in range(1,10)])
output --> 'hello                 's = "hi"; s + (6-len(s)) * " "代わりに(結果は否定的です。しかし、正確な問題に対処するフレームワーク機能を使用する回答は、維持が容易になります(他の回答を参照してください)
                    
"%-6s" % s左揃えと"%6s" % s右揃えです。