Я давно знал о .format
, но когда я попытался включить форматирование с плавающей точкой в строку, как показано ниже:
"ab_{}_cd{}_e_{}_{}_{}_val={0:.5f}_{}".format(string1,str(2),string2,string3,string4,str(0.12345678),string5)
В приведенном выше примере строка1-5 обозначает случайные строки, включенные для этого примера.
Возвращает следующую ошибку ValueError: cannot switch from automatic field numbering to manual field specification
После некоторого поиска этот вопрос, похоже, содержит решение Использование .format () для форматированиясписок с аргументами ширины поля
Приведенная выше ссылка показывает, что мне нужно отформатировать все {}
в строке, чтобы получить желаемое форматирование.Я взглянул на официальную документацию https://docs.python.org/2/library/string.html и https://docs.python.org/2/library/stdtypes.html#str.format, и мало что могу объяснить, что я ищу.
Желаемый результат:
Объяснение того, как я могу преобразовать автоматическую спецификацию поля опции .format в ручную спецификацию поля только с форматированием предоставленной мною переменной с плавающей запятой и оставляя все остальные переменные строки 1-5 неформатированными.Хотя я мог бы просто использовать что-то вроде round()
или просто эквивалент, это может вызвать проблемы, и я чувствую, что лучше учиться на примере .format.