El nuevo método de formato de cadena (ish) le permite hacer algunas cosas divertidas con argumentos de palabras clave anidados. El caso más simple:
>>> '{message: <16}'.format(message='Hi')
'Hi '
Si desea pasar 16
como una variable:
>>> '{message: <{width}}'.format(message='Hi', width=16)
'Hi '
Si desea pasar variables para todo el kit y kaboodle :
'{message:{fill}{align}{width}}'.format(
message='Hi',
fill=' ',
align='<',
width=16,
)
Lo que resulta en (lo has adivinado):
'Hi '
Y para todo esto, puede usar python 3.6+ f-strings :
message = 'Hi'
fill = ' '
align = '<'
width = 16
f'{message:{fill}{align}{width}}'
Y por supuesto el resultado:
'Hi '