【问题标题】:python3 when saving a file it doesn't save to same directory as the EXE pyinstallerpython3 保存文件时它不会保存到与 EXE pyinstaller 相同的目录
【发布时间】:2021-02-27 21:16:31
【问题描述】:

我使用 Pyinstaller 将我的脚本打包为 onedir EXE,然后安装到 Program Files 文件夹。我使用这一行将 json 保存到文件中:

json.dump(data, open("data_file.json",'w'))

在某些计算机上,文件保存到 EXE 所在的位置,这是我想要的,但其他计算机将其保存到不同的位置。

所以当我尝试使用 json.load 获取文件时,它说找不到文件:

json.load(open("data_file.json"), encoding="utf-8")

如何解决这个问题,让脚本只将文件保存到同一个 EXE 目录?

【问题讨论】:

    标签: json python-3.x pyinstaller


    【解决方案1】:

    问题的原因与windows上的写权限有关。所以不要将应用程序数据写入不推荐的 Program Files 文件夹,您需要将数据写入 APPDATA 文件夹。

    我使用了 giuliano-oliveira 发布的代码,它可以完美地跨平台运行。 get_user_data_dir

    【讨论】:

      猜你喜欢
      • 2014-05-25
      • 2019-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      相关资源
      最近更新 更多