jinja2 питон |автоматически загружать имена шаблонов - PullRequest
0 голосов
/ 12 марта 2019

Я хотел бы попросить о помощи.

Я бы хотел, чтобы скрипт автоматически загружал имена шаблонов в папку и генерировал файлы с тем же именем, что и шаблон.

Я написал код:

from jinja2 import Environment, FileSystemLoader
import yaml
import os

for file in os.listdir('configs'):
   #Load data
   data = {}
   data.update(yaml.load(open('./configs/' + file)))

   #Load Jinja2 template
   env = Environment(loader = FileSystemLoader('./templates'), trim_blocks=True, lstrip_blocks=True)
   template = env.get_template('cp-serwis.properties')
   templateHibernate = env.get_template('hibernate.properties')

   #Render the template with data
   output_from_parsed_template = template.render(data)
   output_from_parsed_templateHibernate = templateHibernate.render(data)

   #Create directory
   os.makedirs(name=data['_dir'], exist_ok=True)

   #Write to file
   with open(data['_dir'] + '\cp-serwis.properties', 'w') as fh:
       fh.write(output_from_parsed_template)
   with open(data['_dir'] + '\hibernate.properties', 'w') as fh:
       fh.write(output_from_parsed_templateHibernate)

Интересно, как перебирать файлы, что-то вроде этого:

   #Load Jinja2 template
   env = Environment(loader = FileSystemLoader('./templates'), trim_blocks=True, lstrip_blocks=True)
   template = env.get_template(*)
   with open(data['_dir'] + '\*', 'w') as fh:
       fh.write(output_from_parsed_template)

, чтобы он автоматически извлекал имена шаблонов в папке и генерировал файлы с тем же именем, что и шаблон.

Буду благодарен за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...