1

GUI(wxPython)を使用してPythonプログラムを作成しています。このプログラムは、RPC サーバーと対話します。Windows で、RPC サーバーが読み取ることができる一時ファイルを GUI から作成したいと考えています。

tempfile モジュールは私のニーズを満たしていないようです。私は一時ファイルに書き込み、それを閉じて (RPC サーバーがそれを読み取ることができるように、ここでは Windows は Unix とは異なります)、プログラムが終了したとき (または、たとえばモデル (Model-View-...) が破棄されたとき) だけにしたいと考えています。ファイル システムから一時ファイルを削除します。

私のプログラムの (GUI) 構造のため、 __ main __の直後でない限り、 try: finally ブロックを挿入する場所が正確にはわかりません。しかし、一時ファイルをモデルにバインドできませんか?

モデルの__ del __メソッドに触れるべきですか? そして、どのように正確に?どこでも、私はこの方法に触れないように読んでいます...

ありがとう

RPC サーバーについて: これは私が変更できないクローズド ソフトウェアです。

4

1 に答える 1

0

一時ファイルへのパスを保持するある種の変数を作成します。このようなもの:

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

次に、フレームを wx.EVT_CLOSE にバインドします。

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

onClose メソッドでは、一時ファイルの削除を試みてから、フレームの Destroy() メソッドを呼び出します。再帰的に onClose を呼び出すだけなので、その Close メソッドを呼び出すことはできません。

于 2013-10-23T16:02:52.740 に答える