文字列フォーマットのコンテキストで複数行の文字列をインデントするにはどうすればよいですか? 例えば
'''
<
%s
>
''' % (paragraph)
段落には改行が含まれています。('foo\nバー')
上記のコードを使用すると、次のような出力が得られます。
'''
<
foo
bar
>
'''
私が本当にこれが欲しいとき:
'''
<
foo
bar
>
'''
私は次のようなことができることを知っています:
'''
<
%s
>
''' % (paragraph)
しかし、これは私の目的にとって読みやすさを損ないます。
また、最初の行以外のすべてを 1 インデントでインデントするコードを書くこともできますが、これは実際には拡張可能なソリューションではありません (2 インデントまたは 3 インデントがある場合はどうなるでしょうか? など)。
編集:回答を投稿する前に、ソリューションが次のようなものでどのように機能するかを検討してください。
'''
<
%s
<
%s
%s
<
%s
>
>
>
''' % (p1, p2, p3, p4)