【发布时间】:2016-10-05 00:26:29
【问题描述】:
我正在测试一个由 pyinstaller 制作的 EXE。 在项目文件夹中有一个名为 config 的文件夹,其中包含一个 json 文件,用户在其中存储他想要的所有信息 - 对于使用 tkinter 的 GUI im - 但最后在我重新启动此应用程序并重新打开 json 文件后,它出现了原始文件。
我读到要在执行时创建一个新文件夹,其中放置了原始 json 文件。但我对这个解决方案不太满意。
任何帮助将不胜感激
更新:
这是项目结构:
/config
|----config.json
/modules
|----admin
|----core
|----graphwo
init.py
代码执行良好,除了我希望用户将他们的信息保存在 config.json 文件中,换句话说,在执行时间。但是因为我使用的 PyInstaller 是 --onefile 不允许更新 config.json 文件
更新二:
我还有这段代码,它在每个文件的执行时获取当前路径——图像、数据和 json 文件——应用程序需要:
def getPathFileAtExecution(relative):
try:
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative)
当程序调用 json 文件进行读写时,我会跟踪程序的任何步骤。但是在它完成并重新启动后,之前所做的所有更改都不会反映。 现在五月更清楚了吗?
【问题讨论】:
标签: python json pyinstaller