Ваш пример кода написан для Python 2.6 или новее, где был введен метод str.format
.
Для версий Python ниже 2.6, используйте оператор% , чтобы интерполировать последовательность значений в строку формата:
for x in range(1, 11):
print '%2d %3d %4d' % (x, x*x, x*x*x)
Вы также должны знать, что этот оператор может интерполировать по имя из сопоставления, а не только позиционные аргументы:
>>> "%(foo)s %(bar)d" % {'bar': 42, 'foo': "spam", 'baz': None}
'spam 42'
В сочетании с тем фактом, что встроенная функция vars () возвращает атрибуты пространства имен в качестве отображения, это может быть очень удобно:
>>> bar = 42
>>> foo = "spam"
>>> baz = None
>>> "%(foo)s %(bar)d" % vars()
'spam 42'