前言
使用pyinstaller进行打包程序,执行程序时发现,放置于程序目录的文件无法加载(相对路径方式访问)。
经过一番测试,发现执行程序时,程序执行的当前目录不一定是程序文件所在的目录。
而使用**--add-data与--add-binary**打包的文件,发现存放于系统的临时目录。
获取路径
经过一番搜索,终于找到了获取数据临时目录的方法。官方wiki
import sys
# 临时目录的路径
print(sys._MEIPASS)
这个临时目录,包含了运行所需的所有二进制文件,仅在程序运行时存在,当程序关闭就会自动清除。
由于运行时存在,可以直接被访问,所以请不要把一些安全性要求高的文件添加进去。
至于**--add-data与--add-binary**的区别,暂时还不清楚。