分享一个自己写的网上模板转jinja2

看了几天前端发现自己不是那块料,还是老老实实下个模板改下用吧
改的时候为了偷懒写几行代码批量转换,写的时候还是遇到了点小问题,特此分享

import os
import re

# 注意,按需要更改正则表达式里面的匹配类型
pattern = re.compile('((href)|(src))="([^<>]*?.((js)|(css)|(jpg)|(png)))"')


def func(match):
    s = match.groups()
    # 嵌套使用花括号的时候无论是format语句还是语法糖都会出现括号无法正常匹配的问题,如果有更优雅的方式,请给我留言
    repl = s[0] + '="{{' + " url_for('static', filename='" + s[3] + "') }}""
    return repl

# 按照你的需要更改文件目录
files = os.listdir('./')
for file in files:
    if file.endswith('.html'):
        with open(file, 'r+') as f:
            html = f.read()
            # 重置文件指针的位置,开始写的时候没注意到这个问题,好几次才发现问题所在
            f.seek(0)
            after = re.sub(pattern, func, html)
            f.write(after)

如果代码哪里有问题,请给我留言,非常感谢。

原文地址:https://www.cnblogs.com/slientbrain/p/13460733.html