可执行文件上的Python文件提取器
我已经用PythonPyInstaller构建了一个可执行文件,需要 当我执行可执行文件时,在可执行文件中保留一些文件 将其他文件解压缩到特定路径,如安装 特定文件夹中的包 我已经做了以下工作可执行文件上的Python文件提取器,python,exe,pyinstaller,Python,Exe,Pyinstaller,我已经用PythonPyInstaller构建了一个可执行文件,需要 当我执行可执行文件时,在可执行文件中保留一些文件 将其他文件解压缩到特定路径,如安装 特定文件夹中的包 我已经做了以下工作 pyinstaller -F --add-data 'installation.zip:installation.zip' --onefile 但我不知道如何将可执行文件中的zip文件解压缩到 目标。我使用以下代码创建了exe pyinstaller -F --add-data "installat
pyinstaller -F --add-data 'installation.zip:installation.zip' --onefile
但我不知道如何将可执行文件中的zip文件解压缩到
目标。我使用以下代码创建了
exe
pyinstaller -F --add-data "installation.zip;installation" phpfilescopy_extract.py --console --onefile
我已经使用以下代码提取了zip文件。
sys.\u MEIPASS-提供我使用的临时exe提取路径
找到zip文件并从路径中提取
使用
sys.\u MEIPASS
在运行时访问提取的文件。@JonathonReinhart这确实有帮助,谢谢兄弟。我已经分享了我的成果
def excute(self):
global src
#source = src
dst = 'd:/destination'
# sys._MEIPASS - gives the temporary exe extraction path that i used to locate the zip files and extracted from the path
source = sys._MEIPASS + "/installation/installation.zip"
if os.path.exists(dst):
if source.endswith('.zip'):
file_zip = zipfile.ZipFile(source)
file_zip.extractall(dst)
QMessageBox.about(self, "Title", "all file's extracted")
else:
QMessageBox.about(self, "Title", "failed extract file")
else:
QMessageBox.about(self, "Title", "path not vialed ")