zoukankan      html  css  js  c++  java
  • 安装包(*.exe)使用7z自行解压

    今天接到一个小活,需要在打包平台中接一个小脚本。需要对*.exe安装包进行解压并对其解压后的文件进行数字签名认证。起初以为是多么easy的事情,结果在实际操作中发现通过使用import zipfile、import tarfile均宣告解压失败。

    不过发现7z到是可以解压,

    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    
    import os
    import sys
    
    def Extract_File(filePath,target):
        """"""
        zip_command = r'C:\Progra~1\7-Zip\7z' + " "+"x %s -y -o%s" %(filePath,target)
        print zip_command 
        os.system(zip_command)
        

    “zip_command = r'C:\Progra~1\7-Zip\7z' + " "+"x %s -y -o%s" %(filePath,target)”直接通过os.system执行该命令行,搞定!

    备注:命令行中参数“x”为全路径解压,相当于在*.exe文件上右键执行“7-zip|提取到.....”。开始使用的参数“e”,结果递归把*.exe中包含的二级exe文件也解压了(eg:安装包中的执行exe和uninstall.exe等)。-y 跳过询问一路执行到底,-o设置输出路径

    解压成功剩下的就nice了:

    1 def recursion_File(path):
    2     for root,dir,files in os.walk(path):
    3         for file in files:
    4             #调用小工具循环执行签名验证


     

  • 相关阅读:
    HTML5
    带参数
    类的无参方法
    类和对象
    Java新帮派——数组
    神竜出击 合三为一!
    校园欺凌——四位学生的乱伦之战!!!
    GC常见算法
    jstat
    SpringBoot2
  • 原文地址:https://www.cnblogs.com/kratos0517/p/3063252.html
Copyright © 2011-2022 走看看