zoukankan      html  css  js  c++  java
  • 用python给html里的css及js文件链接自动添加版本号

    传统的给文件链接添加版本号的方法是使用gulp-rev,这里提出的解决方案是使用python来替代gulp-rev。

    import os
    import re
    import uuid
    import sys
    
    
    def file_extension(path):
        return os.path.splitext(path)[1]
    
    
    basePath = sys.argv[1]
    if len(sys.argv)==1:
        sys.exit()
    
    
    html_list = []
    
    
    def find_html(path):
        files = os.listdir(path=path)
    
        for item in files:
            abs_path = os.path.join(path, item)
            if not os.path.isdir(abs_path) and file_extension(abs_path) == ".html":
                html_list.append(abs_path)
    
            if (os.path.isdir(abs_path)):
                find_html(abs_path)
    
    
    def deal_html(html_list):
        for html_path in html_list:
            html_file = open(html_path, "r+", encoding='UTF-8')
            content = html_file.read()
            # print(html_file.read())
            # res = re.sub(r'<link (.*) href="(.*).css".*>',r'<link 1 href="2.css?v=1"3>',content)
            res1 = re.sub(r'<link (.*) href="(.*).css.*"(.*)>', lambda x: '<link ' + x.group(1) + ' href="' + x.group(
                2) + '.css?v=' + uuid.uuid1().hex + '"' + x.group(3) + '>', content)
            res2 = re.sub(r'<script src="(.*).js.*"></script>',
                          lambda x: '<script src="' + x.group(1) + '.js?v=' + uuid.uuid1().hex + '"></script>', res1)
            html_file.seek(0)
            html_file.truncate()
            html_file.write(res2)
            html_file.close()
    
    
    if __name__ == '__main__':
        find_html(basePath)
        deal_html(html_list)

    将以上代码另存成auto_version.py文件后,新建auto_version.bat文件,写入以下内容:

    python ./auto_version.py "D:your project dir"

    修改好.bat文件里的路径后,双击运行即可。

  • 相关阅读:
    使用powerdesigner导入sql脚本,生成物理模型
    深入理解[代理模式]原理与技术
    8、Dockerfile介绍和最佳实践
    7、Docker监控方案(cAdvisor+InfluxDB+Grafana)
    6、Docker图形化管理(Portainer)
    5、Docker网络配置(单机)
    4、Docker数据管理
    html二
    html
    IO多路复用,协程,
  • 原文地址:https://www.cnblogs.com/axel10/p/8447184.html
Copyright © 2011-2022 走看看