İçeriğe geç

Temizleme deseni eksik (ARCH2082)

Anahtar python.performance.dispose-pattern · Önem warning · Kategori performance

Kapatılabilir bir kaynağa sahip sınıf, sahip olduğu kaynağı serbest bırakacak bir close veya bağlam yöneticisi sunmazsa kaynak hiç kapatılmaz. Temizleme sözleşmesini uygulayın.

class Exporter:
def __init__(self, path):
self.file = open(path, "w")
def write(self, row):
self.file.write(row)
class Exporter:
def __init__(self, path):
self.file = open(path, "w")
def write(self, row):
self.file.write(row)
def __enter__(self):
return self
def __exit__(self, *exc):
self.file.close()

Kaynak sahibi sınıfa __enter__/__exit__ veya close ekleyerek sahip olunan tutamaçları serbest bırakın.