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

  • 相关阅读:
    用Java画QRCode二维码
    Require.js 详细了解
    JAVA下几个问题
    Eclipse中使用Maven创建Web时错误
    Windows下MySQL安装配置与使用
    搭建 LimeSurvey投票调查问卷系统
    服务器常见页面访问返回错误信息
    linux系统使用python监测网络接口获取网络的输入输出
    Linux操作系统知识
    lvs工作原理
  • 原文地址:https://www.cnblogs.com/slqt/p/10881383.html
Copyright © 2011-2022 走看看