Як читати та писати файли на Python

Читання з файлів і запис у них є звичайним завданням у програмуванні, і Python полегшує це завдяки вбудованим можливостям обробки файлів. Розуміння того, як працювати з файлами, має важливе значення для будь-якого програміста на Python, оскільки це дозволяє вам керувати збереженням даних, журналюванням, керуванням конфігурацією тощо. У цьому посібнику описано, як відкривати, читати, записувати та закривати файли в Python, а також як працювати з різними режимами файлів.

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

У Python для відкриття файлу використовується функція open(). Функція open() повертає файловий об’єкт, який надає методи для читання та запису. Важливо закрити файл після завершення роботи за допомогою методу close(), щоб звільнити системні ресурси.

# Opening and closing a file
file = open("example.txt", "r")  # Open file for reading
# Perform file operations
file.close()  # Close the file

Читання файлів

Існує кілька способів прочитати вміст файлу в Python, залежно від ваших потреб:

Прочитайте весь файл

Метод read() зчитує весь вміст файлу в один рядок.

# Reading the entire file
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

Читання рядків файлу

Метод readline() читає один рядок із файлу, тоді як readlines() читає всі рядки та повертає їх у вигляді списку.

# Reading lines using readline()
with open("example.txt", "r") as file:
    line = file.readline()
    while line:
        print(line.strip())
        line = file.readline()

# Reading all lines using readlines()
with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

Читання файлів рядок за рядком

Переважним методом читання файлу рядок за рядком є ​​використання циклу for безпосередньо на об’єкті файлу. Цей підхід є ефективним для пам’яті, особливо для великих файлів.

# Reading file line by line using a for loop
with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())

Запис у файли

Python дозволяє записувати файли за допомогою методів write() і writelines(). Вам потрібно відкрити файл у режимі, який підтримує запис, наприклад 'w' (запис) або 'a' (додавання).

Запис у файл

Метод write() записує один рядок у файл. Відкриття файлу в режимі запису 'w' призведе до створення нового файлу або перезапису існуючого.

# Writing to a file
with open("output.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("This is a new line.")

Додавання до файлу

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

# Appending to a file
with open("output.txt", "a") as file:
    file.write("\nThis line is appended.")

Написання кількох рядків

Метод writelines() використовується для запису кількох рядків у файл. Він очікує список рядків, кожен з яких представляє рядок.

# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
    file.writelines(lines)

Режими файлів

Функція Python open() підтримує декілька режимів відкриття файлів:

  • 'r' - Режим читання (за замовчуванням). Відкриває файл для читання.
  • 'w' - Режим запису. Відкриває файл для запису (створює новий файл або скорочує існуючий).
  • 'a' - Режим додавання. Відкриває файл для додавання (створює новий файл, якщо він не існує).
  • 'r+' - Режим читання та запису. Відкриває файл як для читання, так і для запису.
  • 'b' - Двійковий режим. Відкриває файл у двійковому режимі (використовується з 'rb', 'wb' тощо).

Висновок

Читання та запис у файли в Python стає простим, якщо ви зрозумієте основні поняття та режими файлів. Освоївши обробку файлів, ви зможете ефективно керувати даними, обробляти ввід/вивід користувача та автоматизувати завдання, які включають операції з файлами. Попрактикуйтесь у використанні цих методів, щоб навчитися керувати файлами на Python.