Формат строки в python с форматированием переменных

Как я могу использовать переменные для форматирования моих переменных?

cart = {"pinapple": 1, "towel": 4, "lube": 1}
column_width = max(len(item) for item in items)
for item, qty in cart.items():
    print "{:column_width}: {}".format(item, qty)

> ValueError: Invalid conversion specification

или

(...):
    print "{:"+str(column_width)+"}: {}".format(item, qty)

> ValueError: Single '}' encountered in format string

Что я могу сделать, так это первое создайте строку форматирования, а затем отформатируйте ее:

(...):
    formatter = "{:"+str(column_width)+"}: {}"
    print formatter.format(item, qty)

> lube    : 1
> towel   : 4
> pinapple: 1

Однако выглядит неуклюже. Нет ли лучшего способа справиться с такой ситуацией?

10
задан Manuel Ebert 8 May 2012 в 12:16
поделиться