Zawsze zakłada się, że plik będzie przeciekać, jeżeli został otwarty bez zamknięta, ale po prostu sprawdzeniu, że jeśli wprowadzić następujące linie kodu, plik zostanie zamknięty:Jak Python zamyka pliki, które zostały gc'ed?
>>> f = open('somefile.txt')
>>> del f
Tak z czystej ciekawości , jak to działa? Zauważyłem, że ten plik nie zawiera metody __
del __
.
Aby wyjaśnić, __del__ jest wywoływany podczas czyszczenia pamięci, a także w implementacji C w Pythonie dla obiektów plików, które występują w momencie, gdy nie ma już odwołań do obiektu pliku. –