Python: форматирование текста в определенном столбце

1

Я хотел бы отформатировать некоторый текст в формате файла банка данных с белком. В основном мне нужно начинать текст в определенных столбцах. Сейчас я делаю форматирование с помощью ljust и rjust но я чувствую, что должна быть какая-то волшебная функция, которую я мог бы использовать, дать слово и в каком столбце он должен начаться.

Любая помощь будет принята с благодарностью. благодаря

Если мой поиск в Statckoverflow не удался, укажите мне в этом направлении.

  • 0
    покажи, что у тебя есть и какое форматирование ты хочешь ...
Теги:
string-formatting

2 ответа

1
Лучший ответ

Вот пример того, как можно форматировать "Описание записи координат" с помощью 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 string-интерполировать значение float a, {a:>9.3f}, с общей шириной 9 и 3 цифрами после десятичной точки.

Полное описание того, как формат указанных работ по дан здесь.

  • 0
    Это довольно хорошо .... есть принятый ответ, сэр.
0

Вы можете использовать функцию "формат" с выравниванием. http://docs.python.org/library/string.html#formatspec Пример со столбцами вы можете найти в исходных кодах в "Программирование на Python 3: полное введение в язык Python" Марком Саммерфилдом, файл print_unicode.py

Ещё вопросы

Сообщество Overcoder
Наверх
Меню