安裝包( exe)使用7z自行解壓

2022-08-05 06:42:07 字數 954 閱讀 3841

今天接到乙個小活,需要在打包平台中接乙個小指令碼。需要對*.exe安裝包進行解壓並對其解壓後的檔案進行數字簽名認證。起初以為是多麼easy的事情,結果在實際操作中發現通過使用import zipfile、import tarfile均宣告解壓失敗。

不過發現7z到是可以解壓,

#

!/usr/bin/env python

#-*- coding: utf-8 -*-

import

osimport

sysdef

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

defrecursion_file(path):

2for root,dir,files in

os.walk(path):

3for file in

files:4#

呼叫小工具迴圈執行簽名驗證

utunbu安裝7z解壓工具

7z,全稱7 zip,是一款開源軟體。是目前公認的壓縮比例最大的壓縮解壓軟體。主要特徵 退出 使用語法 7z 命令列 選項 基本檔名稱 引數變數 在方括號內的表示式 和 之間的字元 是可選的。在書名號內的表示式 和 之間的字元 是必須替換的表示式 而且要去掉括號 7 zip 支援和 windows ...

utunbu安裝7z解壓工具

7z,全稱7 zip,是一款開源軟體。是目前公認的壓縮比例最大的壓縮解壓軟體。主要特徵 退出 使用語法 7z 命令列 選項 基本檔名稱 引數變數 在方括號內的表示式 和 之間的字元 是可選的。在書名號內的表示式 和 之間的字元 是必須替換的表示式 而且要去掉括號 7 zip 支援和 windows ...

pyhton system 使用7z解壓和壓縮

coding utf 8 import os 環境 windows10 壓縮工具 7z.exe 實現語言 python 語言版本 2.7 網上提供了一堆坑人的解壓方法,本想省點事快速搞定 奶奶個腿的 都怪自己太懶反倒浪費了更多時間 這裡只針對壓縮和解壓縮檔案 在這裡遇到的主要麻煩就是含有空格的路徑的...