我正在测试pyinstaller制作的EXE。 在项目文件夹中有一个名为config的文件夹,其中包含一个json文件,用户可以在其中存储他想要的所有信息-对于使用tkinter的guiim- 但最后,在我重新启动这个应用程序并重新打开json文件后,它将显示原始文件。在
我读到了关于在执行时创建一个新文件夹的文章,我把原始的json文件放在那里。但我对这个解决方案不太满意。在
如有任何帮助将不胜感激
更新:
项目结构如下:
/config
|----config.json
/modules
|----admin
|----core
|----graphwo
init.py
代码执行得很好,除了我希望用户将他们的信息保存在配置.json换句话说,在执行时间。但因为我使用的PyInstaller是--一个不允许更新配置.json文件
更新二:
另外,我有这段代码,它获取每个文件执行时的当前路径—图像、数据和json文件—应用程序需要:
^{pr2}$当程序调用json文件进行读写时,我跟踪程序的任何步骤。但在它完成并重新启动之后,之前所做的所有更改都不会得到反映。 梅现在更清楚了?在
首先检查你指向正确的路径。某些操作系统对某些系统变量和函数调用的响应不同。在
sys.\u MEIPASS变量是程序运行时应用程序绑定文件的运行位置。这与应用程序所在的位置不同。为了让您的程序找到并操作这个非绑定的.json文件,我使用
os.getcwd()
来获取应用程序所在的文件夹。在在操作系统getcwd()获取可执行文件所在的当前工作目录。如果.json文件位于名为
config
的文件夹中,并且该文件夹位于运行exe的当前工作目录中,则可以使用ext_config = os.path.join(extDataDir, 'config', 'your.json')
相关问题 更多 >
编程相关推荐