附带数据文件
70.7 附带数据文件
程序若读取 config.json、图片等,打包时要 --add-data 把文件打进 exe。
Windows 格式:--add-data "源路径;打包内相对路径",Mac/Linux 用冒号 :。
代码里用 sys._MEIPASS 获取 PyInstaller 解压后的资源路径。
读取打包内配置
import sys
import os
def resource_path(relative):
if hasattr(sys, '_MEIPASS'):
return os.path.join(sys._MEIPASS, relative)
return os.path.join(os.path.dirname(__file__), relative)
config = resource_path('config.json')
print('配置文件:', config)
打包时加入 config.json
pyinstaller --onefile --add-data "config.json;." app.py