OSError:以前运行完美的代码的无效参数

时间:2014-01-31 23:40:48

标签: python file cx-freeze

这是我从一个更大的程序中获得的片段。此保存功能发生错误。

def save(self):
    """Write the current configuration object (self) to the configuration file."""
    try:
        open(self.config_path, "w", encoding="utf-8")
        with open(self.config_path, "w", encoding="utf-8") as f:
            super().write(f)
    except PermissionError:
        sys.exit()

对于我和许多其他人来说,这个功能似乎正在做它应该做的事情。然而今天,我收到了我的程序用户的电子邮件,他给了我以下错误报告。

Error report

第29行是with open(self.config_path, "w", encoding="utf-8") as f:行。

有两件事让我感到奇怪。 首先,config\\config.ini与之前的行完全相同的参数,哎呀,整个open()调用完全相同。 第二,可能是无关的,但我仍然注意到它。在错误报告中,目录结构是我个人电脑的目录结构,而不是用户的我认为这与cx_freeze的工作原理有关。

我的第一个文件打开调用未正确关闭会导致此问题吗?它可以在数千个系统上正常工作,这个系统不可能,但不太可能。

注意:我知道第一个open()调用应该包含在if file.exists:语句中。这只是生产代码。

有人知道发生了什么事吗?

0 个答案:

没有答案