Я хочу дополнить строку до определенной длины, в зависимости от значения переменной, и мне интересно, есть ли стандартный, Pythonic способ сделать это с помощью string.format
мини-язык. Прямо сейчас я могу использовать конкатенацию строк:
padded_length = 5
print(("\n{:-<" + str((padded_length)) + "}").format("abc"))
# Outputs "abc--"
padded_length = 10
print(("\n{:-<" + str((padded_length)) + "}").format("abc"))
#Outputs "abc-------"
Я пробовал этот метод:
print(("{:-<{{padded_length}}}".format(padded_length = 10)).format("abc"))
но вызывает исключение IndexError: tuple index out of range
:
Traceback (most recent call last):
File "<pyshell#41>", line 1, in <module>
print(("{:-<{{padded_length}}}".format(padded_length = 10)).format("abc"))
IndexError: tuple index out of range
Есть ли стандартный встроенный способ сделать это, кроме конкатенации строк? Второй метод должен работать, поэтому я не уверен, почему он терпит неудачу.