前言

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

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

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

获取路径

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

import sys

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

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

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

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