Закриття файлів¶
У реальному житті для закриття файлів найчастіше використовується конструкція with. Її набагато зручніше і безпечніше використовувати, ніж закривати файл явно. Але, оскільки в житті можна зустріти і метод close, у цьому розділі сприймається як його використовувати.
Після завершення роботи з файлом його потрібно закрити. У деяких випадках Python може самостійно закрити файл. Але краще не розраховувати і закривати файл явно.
close¶
Метод close зустрічався у розділі запис файлів. Там він був потрібний для того, щоб вміст файлу був записаний на диск.
Для цього в Python є окремий метод flush. Але так як у прикладі із записом файлів, не потрібно було виконувати жодних операцій, файл можна було закрити.
Відкриємо файл r1.txt:
Тепер ми можемо прочитати файл:
In [2]: print(f.read())
!
service timestamps debug datetime msec localtime show-timezone year
service timestamps log datetime msec localtime show-timezone year
service password-encryption
service sequence-numbers
!
no ip domain lookup
!
ip ssh version 2
!
Об'єкт file має спеціальний атрибут closed, який дозволяє перевірити, закритий файл чи ні. Якщо файл відкритий, він повертає False:
Тепер закриваємо файл і знову перевіряємо closed:
Якщо спробувати прочитати файл, виникне виняток: