У Python робота з файлами та обробка винятків — це незамінні частини реальних проєктів. Завдяки читанню/запису файлів ви зберігаєте дані назавжди, керуєте конфігураційними файлами або ведете логи. Обробка винятків дозволяє програмі не падати в несподіваних ситуаціях, а елегантно обробляти помилки. Станом на 2026 рік ці теми особливо критичні в data science, автоматизації, веб-скрапінгу та бекенд-розробці (Django/Flask).
У Google в Україні та світі дуже високий попит на запити «Python робота з файлами», «Python try except», «Python with open», «Python exception handling». Від початківців до середнього рівня — всі вивчають ці теми. Ці навички роблять ваш код надійним (robust) і виділяють вас у професійних проєктах.
Чому варто вивчати роботу з файлами та обробку винятків? (перспектива 2026)
1. Робота з файлами (File I/O)
У Python файли відкриваються функцією open(). Найкраща практика — використовувати блок with (файл автоматично закривається, немає витоків ресурсів).
Ось основні приклади:
Режими файлів:
Робота з CSV-файлами
CSV — основа для data science. Використовуйте вбудований модуль csv або Pandas.
Робота з JSON-файлами
API зазвичай повертають JSON. Модуль json робить все просто.
Бінарні файли (приклад копіювання зображення)
Робота зі шляхами (pathlib — сучасний спосіб)
У 2026 році рекомендують pathlib замість старого os.path.
2. Обробка винятків (Exception Handling)
Блоки try-except-else-finally дозволяють ловити помилки.
Підняття власних винятків (raise)
Власні класи винятків
Поширені типи винятків:
Реальний приклад: читання файлу з обробкою помилок
Просунуті теми
Підсумок та практичні поради
Робота з файлами та обробка винятків піднімає ваш код на професійний рівень. Завжди використовуйте try-except та блок with. Практикуйтеся:
З цим посібником ви повністю опануєте роботу з файлами та винятками.
2026 року писати надійні Python-скрипти без цих знань неможливо!
У Google в Україні та світі дуже високий попит на запити «Python робота з файлами», «Python try except», «Python with open», «Python exception handling». Від початківців до середнього рівня — всі вивчають ці теми. Ці навички роблять ваш код надійним (robust) і виділяють вас у професійних проєктах.
Чому варто вивчати роботу з файлами та обробку винятків? (перспектива 2026)
- Збереження даних: щоб після закриття програми дані не зникали (CSV, JSON, TXT-логи).
- Реальна інтеграція: зберігання даних з API, читання конфігурацій.
- Толерантність до помилок: навіть якщо користувач введе щось неправильно — програма не впаде.
- Популярне використання: Pandas читає файли, у великих проєктах усі винятки логуються.
- Перевага на кар'єрі: на співбесі часто запитують про блоки try-except-finally.
1. Робота з файлами (File I/O)
У Python файли відкриваються функцією open(). Найкраща практика — використовувати блок with (файл автоматично закривається, немає витоків ресурсів).
Ось основні приклади:
Ко Select
# Запис (write) — створює файл, якщо його немає
with open("example.txt", "w", encoding="utf-8") as file:
file.write("Привіт, Python!\n")
file.write("Це другий рядок.\n")
file.writelines(["Третій рядок\n", "Четвертий рядок\n"])
# Дописування (append)
with open("example.txt", "a", encoding="utf-8") as file:
file.write("Новий доданий рядок.\n")
# Читання (read)
with open("example.txt", "r", encoding="utf-8") as file:
content = file.read() # читає все
print(content)
# Альтернативи
# file.seek(0) # повернутися на початок
# lines = file.readlines() # список рядків
# for line in file: # ітерація по рядках (економить пам'ять)
# print(line.strip())Режими файлів:
- "r" — читання (за замовчуванням)
- "w" — запис (очищує файл)
- "a" — дописування
- "x" — створення нового файлу (помилка, якщо вже існує)
- "b" — бінарний режим (для зображень, відео: "rb", "wb")
- "t" — текстовий режим (за замовчуванням)
Робота з CSV-файлами
CSV — основа для data science. Використовуйте вбудований модуль csv або Pandas.
Ко Select
import csv
# Запис
with open("data.csv", "w", newline="", encoding="utf-8") as file:
writer = csv.writer(file)
writer.writerow(["Ім'я", "Вік", "Місто"])
writer.writerow(["Андрій", 30, "Київ"])
writer.writerows([["Олена", 25, "Львів"], ["Максим", 35, "Одеса"]])
# Читання
with open("data.csv", "r", encoding="utf-8") as file:
reader = csv.reader(file)
for row in reader:
print(row)
# DictReader / DictWriter (з заголовками)
with open("data.csv", "r", encoding="utf-8") as file:
reader = csv.DictReader(file)
for row in reader:
print(row["Ім'я"], row["Вік"])Робота з JSON-файлами
API зазвичай повертають JSON. Модуль json робить все просто.
Ко Select
import json
# Запис словника в JSON
data = {
"users": [
{"name": "Гакан", "age": 28},
{"name": "Зейнеп", "age": 32}
]
}
with open("data.json", "w", encoding="utf-8") as file:
json.dump(data, file, ensure_ascii=False, indent=4) # українські символи
# Читання JSON
with open("data.json", "r", encoding="utf-8") as file:
loaded = json.load(file)
print(loaded["users"][0]["name"]) # ГаканБінарні файли (приклад копіювання зображення)
Ко Select
with open("example.jpg", "rb") as source:
with open("copy.jpg", "wb") as target:
target.write(source.read())Робота зі шляхами (pathlib — сучасний спосіб)
У 2026 році рекомендують pathlib замість старого os.path.
Ко Select
from pathlib import Path
file_path = Path("example.txt")
print(file_path.exists()) # чи існує?
print(file_path.read_text(encoding="utf-8")) # читання
file_path.write_text("Новий вміст", encoding="utf-8") # запис
folder = Path("new_folder")
folder.mkdir(exist_ok=True) # створює папку2. Обробка винятків (Exception Handling)
Блоки try-except-else-finally дозволяють ловити помилки.
Ко Select
try:
number = int(input("Введіть число: "))
result = 100 / number
except ZeroDivisionError:
print("На нуль ділити не можна!")
except ValueError:
print("Будь ласка, введіть коректне число!")
except Exception as e: # загальна помилка
print(f"Несподівана помилка: {e}")
else:
print(f"Результат: {result}") # виконується, якщо немає помилки
finally:
print("Операцію завершено.") # завжди виконуєтьсяПідняття власних винятків (raise)
Ко Select
def age_check(age):
if age < 0:
raise ValueError("Вік не може бути від'ємним!")
return age
try:
age_check(-5)
except ValueError as error:
print(error) # Вік не може бути від'ємним!Власні класи винятків
Ко Select
class NegativeAgeError(Exception):
pass
def age_check(age):
if age < 0:
raise NegativeAgeError("Вік не може бути від'ємним!")
try:
age_check(-10)
except NegativeAgeError as error:
print(error)Поширені типи винятків:
- FileNotFoundError — файл не знайдено
- PermissionError — помилка доступу
- KeyError — ключ у словнику відсутній
- IndexError — індекс за межами списку
- TypeError — неправильний тип
- ImportError / ModuleNotFoundError
Реальний приклад: читання файлу з обробкою помилок
Ко Select
def read_file(filename):
try:
with open(filename, "r", encoding="utf-8") as file:
return file.read()
except FileNotFoundError:
print(f"Файл {filename} не знайдено!")
return None
except PermissionError:
print("Немає прав на читання файлу!")
return None
except Exception as e:
print(f"Помилка: {e}")
return None
content = read_file("no_file.txt")
if content:
print(content)Просунуті теми
- Модуль logging — запис помилок у файл
Ко Select
import logging
logging.basicConfig(filename="errors.log", level=logging.ERROR)
logging.error("Сталася помилка!")- Контекстні менеджери — власні with через __enter__ та __exit__
- Pandas — pd.read_csv(), pd.to_excel() (з openpyxl)
Підсумок та практичні поради
Робота з файлами та обробка винятків піднімає ваш код на професійний рівень. Завжди використовуйте try-except та блок with. Практикуйтеся:
- Створіть особистий нотатник (збереження в TXT/JSON)
- Читайте дані з CSV та робіть аналіз
- Напишіть калькулятор, який обробляє неправильний ввід
- Джерела: офіційна документація Python (io, exceptions), Real Python
З цим посібником ви повністю опануєте роботу з файлами та винятками.
2026 року писати надійні Python-скрипти без цих знань неможливо!

