私は、作成中の一時ファイルを作成するクラスを持っています。私は、一時ファイルを作成することは、元の問題に対する理想的な解決策ではないかもしれないが、変更することはできないと考えていることにご留意ください。それと並行して、コードはプログラムのコース全体で複数回実行されます。Pythonでcloseに必要な動作を行う場所
ファイルを削除する最も理想的な場所はどれですか?
オプション1:
import sys
import os
class Foo:
def __init__(self):
self.file = open("temp.txt", 'wb')
def do_something(self):
# ...
def close(self):
self.file.close()
os.remove("temp.txt")
while True:
foo = Foo()
foo.do_something()
foo.close()
オプション2:私は必要なアクションを置くことは悪い習慣です聞いたので、私はオプション2を使用するために躊躇してい
import sys
import os
class Foo:
def __init__(self):
self.file = open("temp.txt", 'wb')
def do_something(self):
# ...
def __del__(self):
self.file.close()
os.remove("temp.txt")
while True:
with Foo() as foo:
foo.do_something()
デストラクタで。しかし、オプション2は私にはもっと読みやすいようです。あなただけのプログラムが閉じたときに、ファイルがなくなっていることを確認する必要がある場合は
ところで、私はメインの投稿を更新して、コードを削除する前にファイルを削除しなければならないことを反映しました。 –
ああ、私はあなたが声明で使っているのを気付かず、おっとしています。 – Natecat