您的位置:首页 > 其它

安装包(*.exe)使用7z自行解压

2013-05-06 18:02 176 查看
今天接到一个小活,需要在打包平台中接一个小脚本。需要对*.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了:

def recursion_File(path):
for root,dir,files in os.walk(path):
for file in files:
#调用小工具循环执行签名验证
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: