Serbest bırakılmayan kaynak (ARCH2080)
Anahtar python.performance.disposable-not-disposed · Önem error · Kategori performance
Kaynak sahibi bir nesne oluşturulup with bloğu olmadan kullanıldığında, bir hata oluşursa serbest bırakılmaz ve sızıntıya yol açar. Bağlam yöneticisi kullanın.
Hatalı
Bölüm başlığı “Hatalı”def write_report(path, data): lock = acquire_lock("report") f = open(path, "w") f.write(data) f.close() lock.release()def write_report(path, data): with acquire_lock("report"), open(path, "w") as f: f.write(data)Düzeltme
Bölüm başlığı “Düzeltme”Kaynak sahibi nesneleri with bağlam yöneticisiyle sarın; çıkışta otomatik serbest bırakılsın.