zoukankan      html  css  js  c++  java
  • python解压分析jar包

    import os
    import shutil
    import zipfile

    count = 1
    def getSumDir():
    sumfilelist = os.listdir(os.getcwd())
    for dir in sumfilelist:
    if ".idea" not in dir:
    classify(dir)


    def getlibDir():
    sumfilelist = os.listdir(os.getcwd())
    for dir in sumfilelist:
    if "libs" in dir:
    jieyajar(dir)


    def jieyajar(dir):
    files = os.listdir(dir)
    for jars in files:
    if "jar" in jars:
    zfile = zipfile.ZipFile('libs/' + jars, 'r')
    if not os.path.exists(os.getcwd() + '/jarlog/' + jars):
    os.makedirs(os.getcwd() + '/jarlog/' + jars)
    zfile.extractall(os.getcwd() + '/jarlog/' + jars)

    if not os.path.exists(os.getcwd() + '/jars/'):
    os.makedirs(os.getcwd() + '/jars/')
    zfile.extractall(os.getcwd() + '/jars/')
    zfile.close

    for file in os.listdir(os.getcwd()):
    if "jars" in file:
    classify(file)


    # def classify(path):
    # if os.path.isfile(path):
    # if ".class" not in path:
    # if "assets" in os.path.dirname(path):
    # if not os.path.exists(os.path.dirname(os.getcwd()) + '/assets/' + os.path.dirname(path)):
    # os.makedirs(os.path.dirname(os.getcwd()) + '/assets/' + os.path.dirname(path))
    # shutil.copy(path, os.path.dirname(os.getcwd()) + '/assets/' + os.path.dirname(path))
    # else:
    # if not os.path.exists(os.path.dirname(os.getcwd())+'/root/'+os.path.dirname(path)):
    # os.makedirs(os.path.dirname(os.getcwd())+'/root/'+os.path.dirname(path))
    # shutil.copy(path,os.path.dirname(os.getcwd())+'/root/'+os.path.dirname(path))
    # else :
    # list = os.listdir(path)
    # for dir in list:
    # classify(path+"/"+dir)

    def classify(path):
    global count
    if os.path.isfile(path):
    if ".class" not in path:
    if not os.path.exists(os.getcwd() + '/root/' + os.path.dirname(path)):
    os.makedirs(os.getcwd() + '/root/' + os.path.dirname(path))
    shutil.copy(path, os.getcwd() + '/root/' + os.path.dirname(path))
    else:
    if 'assets' in path and count == 1:
    count = count + 1
    shutil.copytree(os.getcwd()+'/'+path, os.getcwd() + '/assets')
    elif 'META-INF' not in path:
    list = os.listdir(path)
    for dir in list:
    classify(path + "/" + dir)


    # getSumDir()
    getlibDir()

  • 相关阅读:
    一句话搞定qt4 开发环境
    一句话随笔.....
    es6学习笔记(二)
    Vue学习笔记(一)
    es6学习笔记(一)
    Java中的一些基础概念
    你了解Java中String的substring函数吗?
    Ajax请求与浏览器缓存
    QCon杭州2012技术开发大会感受
    为什么选择使用Sass而不是Less?
  • 原文地址:https://www.cnblogs.com/slqt/p/10881383.html
Copyright © 2011-2022 走看看