【问题标题】:I Got a Permission Error After Installing This Game安装此游戏后出现权限错误
【发布时间】:2022-01-01 10:04:12
【问题描述】:

我在游戏类中有这个功能:

def store_data(self):
    if self.score > self.best_score:
        with open("best_score.txt", "w") as file:
            msg = f"BEST SCORE: {self.score}"
            file.write(msg)
            file.close()

我想把best_score存储在这个txt文件中(如果有更好的python存储数据的方法欢迎指正,谢谢) 我完成了游戏,我使用 pyinstaller + NSIS 来获取单个文件,当然,我将它安装在我的设备上,在安装之前没有问题,但是在从我的本地桌面安装并运行游戏后 C:\\ I收到此错误:

PermissionError: [Errno 13] Permission denied: 'best_score.txt'

所以,请你帮帮我。 谢谢。

【问题讨论】:

    标签: python operating-system file-handling storing-data


    【解决方案1】:

    执行代码的用户没有所需的权限。也许您在需要管理员权限的目录中运行代码(并且由于您没有提供路径,Python 会尝试将文件保存在该目录中)或者可能是另一个用户创建了该文件。

    我建议将结果存储在用户主目录(的子路径)中,例如

    import os
    
    USER_HOME: str = os.path.expanduser("~")
    with open(f"{USER_HOME}/best_score.txt", "w") as file:
        # do stuff
    

    【讨论】:

    • 非常感谢@niko,这几行代码解决了我的问题并教会了我新的重要信息。祝你有美好的一天!
    猜你喜欢
    • 2016-12-24
    • 2015-07-04
    • 1970-01-01
    • 2015-05-04
    • 2017-10-27
    • 2019-02-24
    • 2014-12-03
    • 1970-01-01
    • 2013-11-03
    相关资源
    最近更新 更多