Подтвердить что ты не робот

Как создать строку с фиксированным размером в python?

Я хочу создать форматированную строку с фиксированным размером с фиксированной позицией между полями. Пример объясняет лучше, здесь есть четкие 3 разных поля, а строка - фиксированный размер:

XXX        123   98.00
YYYYY        3    1.00
ZZ          42  123.34

Как я могу применить такое форматирование к строке в python (2.7)?

4b9b3361

Ответ 1

Конечно, используйте метод .format. Например.

print '{:10s} {:3d}  {:7.2f}'.format('xxx', 123, 98)
print '{:10s} {:3d}  {:7.2f}'.format('yyyy', 3, 1.0)
print '{:10s} {:3d}  {:7.2f}'.format('zz', 42, 123.34)

напечатает

xxx        123    98.00
yyyy         3     1.00
zz          42   123.34

Вы можете настроить размеры полей по желанию. Обратите внимание, что .format работает независимо от print для форматирования строки. Я просто использовал печать для отображения строк. Краткое объяснение:

10s форматирует строку с 10 пробелами, по умолчанию по умолчанию

3d форматирует целое число, резервируя 3 пробела, по правому значению по умолчанию

7.2f форматирует поплавок, оставляя 7 пробелов, 2 после десятичной точки, справа по умолчанию.

Существует множество дополнительных опций для строковых/форматирующих строк (дополнение, выравнивание влево/вправо и т.д.), Операции форматирования строк.