zoukankan      html  css  js  c++  java
  • [python] +7z批量删jar中的文件

    spring cloud的项目, 一打包就是几百兆,上传太费时了
    使用thin jar的方案后,每个文件都要点进去手动删/BOOT-INF/lib下的公用jar包,浪费时间和精力

    7z可以直接删zip文件中的文件,支持*匹配, 递归压缩目录
    7z d xxx-source.jar yyy*.conf -r
    写个脚本一秒搞定,太爽了

    import os
    import subprocess
    
    
    def remove_one_file_jars(file_name):
        subprocess.getoutput(
            f"7z d {file_name} a*.jar b*.jar c*.jar d*.jar e*.jar f*.jar g*.jar h*.jar i*.jar "
            f"j*.jar k*.jar l*.jar m*.jar n*.jar o*.jar p*.jar q*.jar r*.jar s*jar t*.jar u*.jar v*jar w*.jar x*.jar "
            f"z*.jar -r")
    
        dirs = subprocess.getoutput(f"7z l {file_name}")
        print(dirs) #列出zip文件目录
        xxx = dirs.split("\n")
        for i in xxx:
            if '''BOOT-INF\lib''' in i:
                jar_file = i[i.index('BOOT-INF\lib') + len('BOOT-INF\lib') + 1:]
                if len(jar_file) > 0 and 'yunjar' not in jar_file:
                    xx = subprocess.getoutput(f"7z d {file_name} {jar_file} -r")
                    print(xx)
    
    
    if __name__ == '__main__':
        all_file = os.listdir("D:/jar")
        for one_file in all_file:
            remove_one_file_jars(one_file)
    
    @@@build beautiful things, share happiness@@@
  • 相关阅读:
    揭秘富人的22种习惯与风格
    CSS
    浏览器--编辑器
    3 位运算 , 补码 ----在开发中比较少用
    2 Java数据类型+转义字符
    1 概述
    如何使用大脑
    JDBC
    web.xml文件的作用
    WindowBuilder插件探索
  • 原文地址:https://www.cnblogs.com/yszzu/p/15578977.html
Copyright © 2011-2022 走看看