Чтение и запись файлов

PythonBeginner
Практиковаться сейчас

Введение

В этом практическом занятии мы научимся читать и записывать файлы на Python. Начнем с простых примеров и постепенно будем увеличивать сложность кода.

Чтение и запись файлов - это важный навык в любом языке программирования. Это позволяет сохранять и обрабатывать данные в постоянном виде и является важной составляющей для многих приложений. В Python чтение и запись файлов просты и легко изучить. Мы начнем с изучения способа чтения файла, а затем перейдем к записи файлов.

Достижения

  • Чтение и запись файлов

Чтение файла

Для чтения файла в Python мы используем функцию open, которая возвращает объект файла. Затем мы можем использовать различные методы объекта файла для чтения содержимого файла.

Откройте новую сессию интерпретатора Python и введите следующий код:

python3

Вот пример того, как открыть и прочитать текстовый файл:

## Откройте файл
f = open('filename.txt', 'r')

## Прочитайте содержимое файла
contents = f.read()

## Распечатайте содержимое
print(contents)

## Закройте файл
f.close()

Функция open принимает два аргумента: имя файла и режим, в котором файл должен быть открыт. В этом случае мы используем режим 'r', который означает "чтение". Это стандартный режим, поэтому мы также могли бы написать open('filename.txt').

Метод read объекта файла возвращает содержимое файла в виде строки. Затем мы можем распечатать содержимое или манипулировать им любым удобным способом.

Важно закрывать файл, когда мы закончили с ним, чтобы освободить системные ресурсы. Мы можем сделать это с помощью метода close объекта файла.

Запись в файл

Для записи в файл в Python мы следуем схожему процессу, как и при чтении файла. Мы используем функцию open для получения объекта файла, а затем метод write для записи в файл.

Вот пример того, как открыть файл для записи и записать в него некоторый текст:

## Откройте файл
f = open('filename.txt', 'w')

## Запишите некоторый текст в файл
f.write('Hello, world!\nPython')

## Закройте файл
f.close()

Как и при чтении файла, мы используем функцию open для получения объекта файла. На этот раз мы используем режим 'w', который означает "запись". Это создаст файл, если он не существует, и перезапишет его, если он уже есть.

Метод write принимает строку в качестве аргумента и записывает ее в файл. Как и при чтении файла, важно закрывать файл, когда мы закончили с ним.

Работа с содержимым файлов

Теперь, когда мы знаем, как читать и записывать файлы, рассмотрим несколько более продвинутых примеров работы с содержимым файлов.

Чтение файла построчно

Иногда мы можем захотеть прочитать файл построчно, а не сразу целиком. Для этого мы можем использовать метод readline объекта файла. Вот пример того, как читать файл построчно:

## Откройте файл
f = open('filename.txt', 'r')

## Прочитайте и распечатайте каждую строку
for line in f:
    print(line)

## Закройте файл
f.close()

Цикл for перебирает строки файла. При каждой итерации он читает и печатает текущую строку. Когда больше нет строк для чтения, цикл завершается и файл закрывается.

Запись в файл построчно

Для записи в файл построчно мы можем использовать метод writelines объекта файла. Этот метод принимает список строк в качестве аргумента и записывает их в файл, при этом каждая строка в списке становится отдельной строкой в файле.

Вот пример того, как записать в файл построчно:

## Откройте файл
f = open('filename.txt', 'w')

## Запишите список строк в файл
lines = ['Line 1', 'Line 2', 'Line 3']
f.writelines(lines)

## Закройте файл
f.close()

Добавление содержимого в файл

Для добавления содержимого в файл, а не перезаписи его, мы можем использовать режим 'a' при открытии файла. Это откроет файл в режиме добавления, позволяя добавлять новое содержимое в конец файла без перезаписи существующего.

Вот пример того, как добавить содержимое в файл:

## Откройте файл
f = open('filename.txt', 'a')

## Добавьте некоторый текст в файл
f.write('This is new content')

## Закройте файл
f.close()

with - выражение

В Python выражение with используется для оборачивания выполнения блока кода методами, определенными контекстным менеджером. Контекстный менеджер - это объект, который определяет методы __enter__ и __exit__. Выражение with создает временный контекстный менеджер на протяжении отступленного блока кода, который следует за ним.

Функция open - это встроенная функция Python, которая возвращает объект файла, представляющий открытый файл. При работе с файлами важно закрывать их, когда мы закончили с ними, чтобы освободить системные ресурсы. Выражение with упрощает работу с файлами, потому что автоматически закрывает файл, когда блок кода завершается, даже если возникает исключение.

Вот пример использования выражения with для открытия и чтения файла:

with open('filename.txt', 'r') as f:
    contents = f.read()
    print(contents)

В этом примере функция open вызывается внутри выражения with для открытия файла 'filename.txt' в режиме чтения. Затем объект файла передается в предложение as, где ему дается имя f. Отступленный блок кода, следующий за выражением with, может затем использовать объект файла f для чтения содержимого файла.

Когда блок кода завершается, файл автоматически закрывается контекстным менеджером, даже если возникает исключение. Это означает, что нам не нужно явно вызывать метод close объекта файла.

Рекомендуется использовать выражение with для управления жизненным циклом объекта файла вместо явного открытия и закрытия файла, потому что оно более компактно и гарантирует, что файл всегда будет корректно закрыт, даже если возникает исключение.

Резюме

В этом практическом занятии мы научились читать и записывать файлы в Python. Мы узнали, как открывать и закрывать файлы, читать и записывать их содержимое, а также работать с содержимым файлов более продвинутыми способами. Мы также увидели, как использовать разные режимы при открытии файлов для управления их доступом.

По окончании этого практического занятия вы должны быть в состоянии с уверенностью читать и записывать файлы в Python.