可执行文件上的Python文件提取器

时间:2018-06-22 11:39:21

标签: python exe pyinstaller

我已经使用python pyinstaller构建了一个可执行文件,需要  当我执行可执行文件时,在可执行文件中保留一些文件  提取其他文件到特定路径,例如安装  特定文件夹中的软件包。

我已经完成了以下

  pyinstaller -F --add-data 'installation.zip:installation.zip' --onefile

但是我不知道如何将可执行文件中的zip文件提取到  目的地。

1 个答案:

答案 0 :(得分:0)

我已使用以下代码创建了exe

pyinstaller -F --add-data "installation.zip;installation" phpfilescopy_extract.py --console --onefile
  

我已经使用以下代码提取了zip文件。   sys._MEIPASS-给出我以前用来的临时exe提取路径   找到zip文件并从路径中提取

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