Python使用MVC框架删除临时文件

时间:2013-10-23 08:52:14

标签: python windows user-interface wxpython temporary-files

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

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

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

我应该触摸模型的 __ del __ 方法吗?那究竟是怎么回事?在任何地方,我都读过不要触摸这种方法......

由于

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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