Файлові дескриптори

Коли застосунок завершує свою роботу, результат, який зберігався у змінних, буде втрачений, оскільки оперативна пам'ять очищується. Щоб зберегти корисну інформацію для подальшого використання, її можна записати у файл на диск.

Python надає можливість роботи з будь-якими файлами.

Файлові дескриптори

У Python існує абстракція над файлами — це вказівник на файл або файловий дескриптор. Це спрощує роботу з багатьма системними ресурсами.

Файловий дескриптор — це системний ресурс, який надає операційна система. Дескриптор можна відкрити (отримати доступ), закрити, записати щось або прочитати з нього.

Відкриття та закриття файлів

Робота з файлами у Python починається з відкриття файлу, отримання доступу до нього через файловий дескриптор. Для цього використовується функція open, яка приймає ім'я файлу та режим його відкриття:

fh = open('test_file.txt')

У цьому прикладі fh є файловим дескриптором, через який можна працювати з файлом.

Після завершення роботи з файлом необхідно закрити дескриптор, щоб звільнити ресурс:

fh = open('test.txt')
fh.close()

Закривати файл обов'язково, інакше це може призвести до помилок, таких як зіпсовані файли або втрата даних.

Якщо не вказати режим відкриття файлу, він відкривається тільки для читання. Якщо файл не існує, буде викликано виняток.

Режими відкриття файлів у Python вказуються другим аргументом функції open:

image.png

Наприклад, щоб відкрити файл для запису або створити новий, використовується режим w:

fh = open('test.txt', 'w')
symbols_written = fh.write('hello!')
print(symbols_written)  # 6
fh.close()

У цьому прикладі файл test.txt відкритий для запису, і до нього записано рядок 'hello!' довжиною 6 символів.

Читання та запис у файл