Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
01 Ноя 2023
3 мин
7425

Различия между режимами a, a+, w, w+, и r+ во встроенной функции open в Python

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

При работе с файлами в Python часто возникает ситуация, когда необходимо открыть файл для записи, чтения или добавления новых данных. Для этого в Python используется встроенная функция open(), которая принимает в качестве аргументов имя файла и режим доступа к файлу.

  file = open("test.txt", "w")

В данном случае, файл «test.txt» открывается на запись с помощью режима «w». Но что значат остальные режимы, такие как «a», «w+», «a+» и «r+» и в чем между ними разница?

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Режим «w»

Режим «w» используется для открытия файла на запись. Если файл с таким именем существует, он будет очищен перед записью. Если файл с указанным именем не существует, он будет создан.

  file = open("test.txt", "w")
  file.write("Hello, world!")

Режим «a»

Режим «a» также открывает файл на запись, но в отличие от режима «w», он добавляет данные в конец файла, не удаляя существующие. Если файл не существует, он будет создан.

  file = open("test.txt", "a")
  file.write("Hello, again!")

Режим «w+»

Режим «w+» открывает файл на чтение и запись. Если файл существует, он будет очищен перед записью. Если файл не существует, он будет создан.

  file = open("test.txt", "w+")
  file.write("Hello, world!")
  file.seek(0)
  print(file.read())

Режим «a+»

Режим «a+» также открывает файл на чтение и запись, но в отличие от режима «w+», он добавляет данные в конец файла, не удаляя существующие. Если файл не существует, он будет создан.

  file = open("test.txt", "a+")
  file.write("Hello, again!")
  file.seek(0)
  print(file.read())

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Режим «r+»

Режим «r+» открывает файл на чтение и запись. Но в отличие от режимов «w+» и «a+», файл не будет создан, если он не существует, и запись будет производиться с начала файла, без очистки существующих данных.

  file = open("test.txt", "r+")
  file.write("Hello, world!")
  file.seek(0)
  print(file.read())

Итак, основное различие между режимами заключается в том, что «w» и «w+» очищают файл перед записью, «a» и «a+» добавляют данные в конец файла, а «r+» позволяет записывать данные с начала файла без его очистки.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий