前言
用Pyinstaller进行打包exe时,有时候得附带上一些资源,提高程序的实用性和人性化。 在网上也有很多把依赖文件打包进exe的方法,不过都只能打包一些图片或者文本而已。 另一种方法是通过修改PyInstaller配置文件*.spec来实现打包的方法,虽然挺不错,但是似乎不能移植到其他设备上。所以我翻阅文献后,查找到两种方式:NSIS程序和base64数据。
参考文献:
https://blog.csdn.net/COLDRAIN_END/article/details/104385472
https://blog.csdn.net/qq_51523386/article/details/112122852
准备工作
请先安装pyinstaller库、NSIS软件。
pip install pyinstaller
方法一:base64数据转换法
这种方法的原理是将附属文件转换成base64的格式,在需要时解压到目录中。(注:base64所支持的文件类型不限于图片)
1.准备好你所需要打包的所有文件,放在同一文件夹内。
2.依次将所有文件(不包括文件夹)放入下列网站转换为base64数据。
https://www.giftofspeed.com/base64-encoder/
https://www.zhangxinxu.com/sp/base64.html
在程序中调用数据并创建文件
3.将获取到的数据粘贴到一个py文件中,用来存储数据。
#这里每个键对应每个文件及其所在位置
#例如Demo3和Demo4都带上了pic文件前缀,值对应base64数据
#注意这里不要有换行,我这里文件数据太大就省略了一部分
dic = {
'Demo1.zip':'UEsFBgAAAAAAAAAAAAAAAAAAAAAAAA==',
'Demo2.html':'RGVtbzIuaHRtbA==',
'pic/Demo3.png':'RGVtbzMucG5n',
'pic/Demo4.ico':'RGVtbzQuaWNv'
}
4.调用数据的程序。
dic = {
'Demo1.zip':'UEsFBgAAAAAAAAAA