Генерация кода для форматирования текста по шаблону
Есть ли что-то готовое для задачи автоматического формирования питон-кода + питон-шаблона для формирования строки на основе заданного шаблона и входных данных.
Нужно чтобы это допускало простые шаблоны, чтобы была возможность привязывать к именам подставляемым переменным функции, генерирующие значения, плюс чтобы можно было задавать ширину выводимого поля в вариантах: поле фиксированной ширины, поле не более чем...
например, имеем шаблон с таким воображаемым синтаксисом
На вход приходит строка name_mail = "User Name <user@host.com>"
Хочу чтобы в результате обработки шаблона и входной строки сгенерировали нечто такое
Т.е. в шаблоне я задаю имена полей и желаемый размер. Причем, если строка данных, подставляемая вместо параметра, длинее чем указано, то строка должна обрезатся. Причем имена полей генерируются автоматически из единой строки при помощи специальных функций, которые я сам напишу.
Стандартный %(NAME)30s не подходит, потому что он не умеет обрезать.
Вобщем описал сумбурно, надеюсь кто-нибудь понял что мне нужно. Есть ли такое подобное готовое в природе?
Нужно чтобы это допускало простые шаблоны, чтобы была возможность привязывать к именам подставляемым переменным функции, генерирующие значения, плюс чтобы можно было задавать ширину выводимого поля в вариантах: поле фиксированной ширины, поле не более чем...
например, имеем шаблон с таким воображаемым синтаксисом
| Name: $NAME[30] | E-mail: $MAIL[20] |
На вход приходит строка name_mail = "User Name <user@host.com>"
Хочу чтобы в результате обработки шаблона и входной строки сгенерировали нечто такое
| Name: User Name | E-mail: user@host.com |
Т.е. в шаблоне я задаю имена полей и желаемый размер. Причем, если строка данных, подставляемая вместо параметра, длинее чем указано, то строка должна обрезатся. Причем имена полей генерируются автоматически из единой строки при помощи специальных функций, которые я сам напишу.
Стандартный %(NAME)30s не подходит, потому что он не умеет обрезать.
Вобщем описал сумбурно, надеюсь кто-нибудь понял что мне нужно. Есть ли такое подобное готовое в природе?
