2017-02-01 1 views
3

Я пытаюсь подставить переменную с помощью format(), а затем отформатировать полученную строку, используя format().Элегантный способ форматирования одной строки с несколькими вызовами `format()` (форматирование цепочки)

Это то, что я в конечном итоге делает:

>>> '{:^50}'.format("Missing files for device : {0}".format(var)) 
'   Missing files for device : abc   ' 

где var является переменная проведение 'abc'. Есть ли лучший способ получить тот же результат?

ответ

1

Вы можете join строки и передать соединяемую строку format функции как:

>>> center_content = ["Missing files for device :", "abc"] 

>>> '{:^50}'.format(' '.join(center_content)) 
'   Missing files for device : abc   ' 
3

В вашем случае, есть более простой способ:

>>> "Missing files for device : {0}".format(var).center(50) 
'   Missing files for device : abc   ' 

Вызов формата дважды не нужно здесь ,

Смежные вопросы