Pyinstaller 打包exe附带资源,运行时自动解压所需资源(图片文本音频等)

本文分享如何使用Pyinstaller将音频、视频、图片、文本等资源文件转换为Base64数据并打包进exe,程序运行时自动解压使用,避免了通过修改PyInstaller配置文件的复杂操作和可能产生的问题。
摘要由CSDN通过智能技术生成

前言:

用Pyinstaller 打包exe时,有时候得附带上一些资源,才能让程序不那么单调。 在网上也有很多把依赖文件打包进exe的方法,不过都只能打包一些图片或者文本而已。 还有一个就是通过修改PyInstaller配置文件*.spec来实现打包 的方法,虽然挺不错,但是我使用的时候移植到其他机器运行有时会出现些问题。

所以在这里分享一个打包资源和依赖文件进exe里面的方法。
通过这个方法可以把 音频,视频,图片,文本,压缩包,配置文件,脚本 等各种文件打包进exe中。
运行时会自动解压到当前目录,如果程序需要调用这些文件时,就可以调用了。


效果图:
在这里插入图片描述



1. 转换为Base64 数据

先准备好你程序需要用的依赖文件。
在这里插入图片描述
这里有两个网站, 都是可以将任意文件转换为 Base64 数据文本的。
进到下面这其中一个网站中, 分别将你的文件进行转换, 然后复制得到的数据。

https://www.giftofspeed.com/base64-encoder/
https://www.zhangxinxu.com/sp/base64.html

在这里插入图片描述



2.在程序中使用生成的数据

首先呢,创建一个.py自建模块,在里面创建变量,分别把从网站得到的Base64数据以字符串的形式粘贴到变量里面。

注意:
1. 变量的类型必须是 字符串。
2. 一个变量的base64数据 只能放在一行,不要有分行。



例如, 我创建了一个 叫 “DateFile.py” 的自建模块,然后我把得到的 base64数据都粘贴到对应的变量里面了。
完整代码如下:

DataFile.py

# 文本文件的base64数据
text = "6buE5piP55qE5pif5LuO5aSn5Zyw5rW35rSL5Y2H6LW3CgrmiJHnq5nlnKjpu5HlpJznmoTlsL3lpLQK55yL5Yiw6buE5piP5YOP5LiA5bqn6Zuq55m955qE6KO45L2TCuaIkeaYr+WkqeepuuS4reWUr+S4gOS4gOmil+WPkeWFieeahOaYn+aYnwoK5Zyo6L+Z6Imw6Zq+55qE5pe25Yi7CuaIkeS7v+S9m+eci+WIsOS6huWPpuS4gOenjeS6uuexu+eahOaYqOWkqQrkuInkuKrnm7jkupLmrovmnYDnmoTkuovnianooqvmgLzliLDkuobkuIDotbcKCum7hOaYj++8jOaYr+WkqeepuuS4reWUr+S4gOeahOWPkeWFieS9kwrmmJ/vvIzmmK/pu5HlpJznmoTlpbPlhL/oi6bpl7fnmoTluorljZUK5oiR77yM5piv5oiR5LiA55Sf5Lit5peg6L6555qE6buR5pqXCgrlnKjov5nmnIDlkI7nmoTml7bliLvvvIzmiJHnq5/og73moqbop4EK6L+Z6I2S6Iqc55qE5aSn5Zyw77yM5pyA5ZCO5LiA57KS56eN5a2QCui/meS4i+WegueahOaXtumXtO+8jOacgOWQjuS4gOS4quWjsOmfswoK6L+Z5Liq5LiW55WM77yMCuacgOWQjueahOS4gOS7tuS6i+aDhe+8jOm7hOaYj+eahOaYnwo="

# 压缩包的base64数据
zip_pack = "UEsDBAoAAAAAAJhtVlAAAAAAAAAAAAAAAAAPAAAAaGVsbG8gd29ybGQudHh0UEsBAj8ACgAAAAAAmG1WUAAAAAAAAAAAAAAAAA8AJAAAAAAAAAAgAAAAAAAAAGhlbGxvIHdvcmxkLnR4dAoAIAAAAAAAAQAYAAgrMjFD6dUBCCsyMUPp1QEIKzIxQ+nVAVBLBQYAAAAAAQABAGEAAAAtAAAAAAA="

# 图片的base64数据
picture = "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAD/AP8DASEAAhEBAxEB/8QAHAABAAICAwEAAAAAAAAAAAAAAAUGBAcCAwgB/8QARxAAAQQCAAQEAwQHBQYDCQAAAQACAwQFEQYSITEHE0FRImFxFDKBkRUjQmKCobEkUmNykggzNENEshZzoiUmU5OjpMLR4f/EABoBAQADAQEBAAAAAAAAAAAAAAABAgMEBQb/xAAzEQEAAgEDAwIDBgQHAAAAAAAAAQIDBBExEiFBBRMiUZEGYXGBocEUMkKxIzRS0eHw8f/aAAwDAQACEQMRAD8A9UogIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgKLz2co4Osya/IQZHeXDExpfJM/0Yxg6uP0/FBFN4gzbm+YzhLIeWRsB1quH6/wAvP0Py2srGcUUrd1tGzHax2QeCWVb0fluk135Dstf/AAkoJ8HaICICICh89n62IMETo5rV6wSIKlcAyS67kbIAaPVxIAQRDc1xVz+YeGKxrA9WMybXT6+Q5Qzfy5vxUvheIqGWlfXidJBeiHNLTssMU0Y9y09x+8Nj5oJgdUQEQEQEQEQEQEQEQEQCtW8G2jxDcl4juN3Znnmr1wTsV4I5HMDG+3MWlzj3JPsAiJbPZoMHtpYGSo43O0PIuRQ26r/ibvqNjs5pHUEe4OwiVefayHB558nalyPDo6G1INz0h7yEf7yP3frmb67GyLjG9r2NcwhzSNgg7BCDkiAiAVrPDyfpG7ks1KS6ezYkgjcf2IIpHMYwew20uPuXIiU/VuywvBDiQsnNYqvxLj28sr6uRg+OrchOpa8mu4Psexb2I2CpIlm8J5N+X4fpXJ2hlh7OWdg7NlaS14/BwKl1CREBEBEBEBEBEBEBEA9lq7hSq3
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值