在使用pyinstaller时 如果需要添加附加文件到exe本体中 可以按照以下做法来添加
终端或CMD输入 auto-py-to-exe 打开pyinstaller
如果没有安装的 在终端或CMD输入 pip installer pyinstaller 来安装
本次我将使用一个将ZIP文件添加到exe程序中并解压来做示例
脚本内容如下:
import tkinter as tk
from tkinter import messagebox
import sys
import os
import zipfile
# 获取PyInstaller创建的临时文件夹路径
base_path = getattr(sys, '_MEIPASS', os.path.abspath(os.path.dirname(__file__)))
#zip文件路径
zip_file_path = os.path.join(base_path, 'cv2.zip')
# 解压目标文件夹路径
extract_folder = "C://" #我们以解压到C盘为例
# 创建解压目标文件夹
#os.makedirs(extract_folder+'文件夹', exist_ok=True) #如果你的压缩包是多个文本并非一个文件夹 请加上这条
# 解压zip文件
with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
zip_ref.extractall(extract_folder)
# 创建一个临时的Tk对象
root = tk.Tk()
root.withdraw() # 隐藏主窗口
# 显示消息框
messagebox.showinfo("Fuchen", "文件解压成功.")
# 结束Tk事件循环
root.quit()
需要注意的是 要在pyinstaller窗口点击添加附加文件来选择压缩包 并且在文件路径右侧的目录栏中 默认是有一个点的 这个点不能删除
最后打包为exe资源文件就被添加了
其实主要的难点就在于 如何正确使用Pyinstaller的临时资源文件路径
#获取PyInstaller创建的临时文件夹路径
base_path = getattr(sys, '_MEIPASS', os.path.abspath(os.path.dirname(__file__)))
#zip文件路径
zip_file_path = os.path.join(base_path, 'cv2.zip')
以上就是使用pyinstaller添加资源文件的全部内容
我是一名高中在校生 空闲时间会写一些代码 一些小项目
我有我的个人网站 fcyang.cn
如果需要更多内容请移步到我的网站!
感谢收看