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()

  • 相关阅读:
    【Android 工具类】经常使用工具类(方法)大全
    driver: Linux设备模型之input子系统具体解释
    ural 1057 Amount of degrees 【数位dp】
    Java8 Lambda表达式教程
    Java线程池
    NodeJS实战——创建基础应用并应用模板引擎
    【网络】代理服务器
    【HTTP】Wireshark过滤规则
    【HTTP】WireShark中获取Content-Encoding: gzip时的响应内容
    【python】判断字符串日期是否有效
  • 原文地址:https://www.cnblogs.com/slqt/p/10881383.html
Copyright © 2011-2022 走看看