Формат не используется, но textwrap.indent()
делает то, что вы хотите.
>>> import textwrap
>>> s = 'hello\n\n \nworld'
>>> textwrap.indent(s, ' ' * 4)
' hello\n\n \n world'
Python также позволяет вам определять свои собственные параметры форматирования ,См. этот вопрос пример того, как его переопределить.В этом случае это может выглядеть следующим образом:
import string
import re
class Template(string.Formatter):
def format_field(self, value, spec):
if re.match('\d+t', spec):
value = ' ' * int(spec[:-1]) + value
spec = ''
return super(Template, self).format_field(value, spec)
Использование:
>>> fmt = Template().format
>>> fmt('{:4t} {}', 'hello', 'world')
hello world
Изучая язык форматных строк, я не вижу способа сделать именно то, что вы хотите.