Як читати та писати файли на 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.