Вот пример того, как можно отформатировать «Описание записи координат», используя str.format :
CRD='{r:<6}{a:>9.3f}{b:>9.3f}{c:>9.3f}{alpha:7.2f}{beta:7.2f}{gamma:7.2f} {sp:<11}{z:>4}'
data=dict(r='CRYST1',a=117,b=15.0,c=39,alpha=90,beta=90,gamma=90,sp='P 21 21 21',z=8)
print(CRD.format(**data))
# CRYST1 117.000 15.000 39.000 90.00 90.00 90.00 P 21 21 21 8
Спецификатор формата CRD
интерпретируется следующим образом:
{r:<6}
указывает format
на строковую интерполяцию значения str(r)
, выравнивание по левому краю, с шириной = 6.
{a:>9.3f}
говорит format
на строковую интерполяцию с плавающей точкойзначение a
, выравнивание по правому краю, общая ширина 9 и 3 цифры после десятичной точки.
Полное описание того, как работает указанный формат, дано здесь .