Что такое хороший движок шаблонов Python для разрешения путей?

#python #path #conventions

#python #путь #соглашения

Вопрос:

Я ищу современный движок шаблонов Python для разрешения путей

На моей работе мне приходится решать множество путей. В настоящее время мы используем модуль Shotgun Software tank, но хотим избавиться от него. У нас есть пути к шаблонам с ключами, как показано ниже, и мы предоставляем движку шаблонов словарь с ключами, соответствующими тем, что указаны в шаблоне. Я уже нашел информацию о Jinja, движке шаблонов Django, wheezy (это, кажется, ближе всего к тому, чего мы хотим достичь).

Что мы имеем прямо сейчас (упрощенный):

templates.yml

 project_root_path : 'C:/data/{project_name}'
resources_path : '@project_root_path/{date}/Resources'
  

main.py

 template_engine = TemplateEngine('templates.yml')
d = {'project_name':"Test", 'date':"20192603"}
print(template_engine.get("resources_path", d))
> C:/data/Test/20192603/Resources
  

Что мы хотели бы иметь :

main.py

 # getting an entity item from our DB using sqlalchemy
item = datasource.items.one(id=0)
template_engine = TemplateEngine('templates.yml')
print(template_engine.get("resources_path",
                           project_name=item.project.name,
                           date=item.date))
  

Есть ли модуль Python, который приближается к этому?

Комментарии:

1. Возможно, это не тот ответ, который вы ищете, но вы можете использовать os.path.abspath(), чтобы получить полный путь к файлу. Также вы можете использовать os.path.basename(), чтобы получить только имя базового каталога / файла. Кроме того, ваш файл ‘yml’, похоже, уже находится в формате словаря. Не могли бы вы поэтому просто прочитать это в словаре и получить значения таким образом?