1

我正在编写一个带有 GUI(wxPython)的 Python 程序。该程序与 RPC 服务器交互。我想从 GUI 创建临时文件,可以在 Windows 上由 RPC 服务器读取。

tempfile 模块似乎不能满足我的需求。我想写入临时文件,关闭它(以便 RPC 服务器可以读取它,这里 Windows 与 Unix 不同),并且仅在程序结束时(或者例如模型(模型视图-...)被破坏)从文件系统中删除临时文件。

由于我的程序的(GUI)结构,我看不到在哪里插入任何 try: finally 块,除非就在__ main __之后。但是我不能将临时文件绑定到模型?

我应该触摸模型的__del __方法?那么究竟如何呢?到处,我读到不要碰这种方法......

谢谢

关于 RPC 服务器:这是我无法修改的封闭软件。

4

1 回答 1

0

我会创建某种变量来保存临时文件的路径。像这样的东西:

self.myTempFile = /path/to/temp.txt

然后将框架绑定到 wx.EVT_CLOSE:

self.Bind(wx.EVT_CLOSE, self.onClose)

在您的 onClose 方法中,您将尝试删除临时文件,然后您将调用框架的 Destroy() 方法。您不能调用它的 Close 方法,因为它只会递归地调用 onClose。

于 2013-10-23T16:02:52.740 回答