Как сделать строку с фиксированным размером в Python?
Я хочу создать отформатированную строку с фиксированным размером с фиксированной позицией между полями. Пример объясняет лучше, здесь четко 3 различных поля, а строка имеет фиксированный размер:
XXX 123 98.00
YYYYY 3 1.00
ZZ 42 123.34
Как я могу применить такое форматирование к строке в Python (2.7)?
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 после десятичной запятой, по умолчанию только что заданные.
Есть много дополнительных опций для позиционирования / форматирования строк (отступы, выравнивание по левому / правому краю и т. Д.), Операции форматирования строк предоставят больше информации.