关于pyinstaller数据文件的打包

版权声明:本文为博主原创文章,转载请注明出处。

前言

使用pyinstaller进行打包程序,执行程序时发现,放置于程序目录的文件无法加载(相对路径方式访问)。

经过一番测试,发现执行程序时,程序执行的当前目录不一定是程序文件所在的目录。

而使用--add-data--add-binary打包的文件,发现存放于系统的临时目录。

获取路径

经过一番搜索,终于找到了获取数据临时目录的方法。官方wiki

1
2
3
4
import sys

# 临时目录的路径
print(sys._MEIPASS)

这个临时目录,包含了运行所需的所有二进制文件,仅在程序运行时存在,当程序关闭就会自动清除。

由于运行时存在,可以直接被访问,所以请不要把一些安全性要求高的文件添加进去。

至于--add-data--add-binary的区别,暂时还不清楚。

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×