附带数据文件

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