from jinja2 import Environment, PackageLoader env = Environment(loader=PackageLoader('results')) def write_file(j2_file, to_file, param): template = env.get_template(j2_file) content = template.render(**param) with open(to_file, 'w') as fp: fp.write(content) # write_file("test.j2", './test.conf', {"name": 'xiaoxiao1', "age": '18', "country": 'China'}) vue_obj = { "table_name": "web_history", "table_objs": [ { "prop": "id", "label": "id", "width": "100", "search": False, "edit": False }, { "prop": "title", "label": "标题", "width": "150", "search": True, "edit": True }, { "prop": "url", "label": "URL 地址", "width": "300", "search": False, "edit": False } ] } write_file("vue_table.j2", "./test.vue", vue_obj)