JavaRush /Курсы /Модуль 1: Python Core /Запись данных в файл

Запись данных в файл

Модуль 1: Python Core
12 уровень , 2 лекция
Открыта

3.1 Создание файла

Файлы создаются автоматически при их открытии в режиме записи ('w') или добавления ('a'). Если файл уже существует, режим 'w' перезаписывает его содержимое, а режим 'a' добавляет данные в конец файла.

Пример создания файла


file = open('example.txt', 'w')  # Открывает файл для записи, создавая его, если он не существует
file.write("This is a new file.\n")
file.close()
        

В этом примере файл example.txt создается (если он не существует) и в него записывается строка "This is a new file.\n".

Можно создать полностью пустой файл — просто откройте его для записи и сразу закройте.

Пример создания пустого файла


file = open('example.txt', 'w')  
file.close()
        

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

3.2 Запись в файл

Существует два популярных метода для записи данных в файл — write() и writelines().

Метод write()

Метод write() записывает строку в файл. Если файл открыт в режиме записи ('w'), его содержимое будет удалено перед записью новых данных. Если файл открыт в режиме добавления ('a'), новые данные будут добавлены в конец файла.

Пример использования write():


# Открытие файла в режиме записи
file = open('example.txt', 'w')
file.write("Hello, World!\n")
file.write("This is a test file.\n")
file.close()
        

Метод writelines()

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

Пример использования writelines():


lines = ["First line.\n", "Second line.\n", "Third line.\n"]

# Открытие файла в режиме записи
file = open('example.txt', 'w')
file.writelines(lines)
file.close()
        

Кодировка файла

Вы можете указывать кодировку текстового файла при его чтении или записи. Делается это с помощью поименованного параметра encoding.

Пример:


# Открытие файла для записи с кодировкой UTF-8
file = open('example_utf8.txt', 'w', encoding='utf-8')  
file.write("Текст на русском языке.\n")
file.write("More text in UTF-8.\n")
file.close()
        

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

3.3 Добавление данных в файл

Дописывать данные в конец файла так же просто, как и записывать их в файл. Вам нужно лишь указать режим добавления ('a') при открытии файла, а всё остальное произойдёт автоматически.

Вот несколько примеров:

Добавление строк в конец файла

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


file = open('example.txt', 'a')  # Открытие файла для добавления данных
file.write("This is a new line added to the file.\n")
file.write("Another line is appended.\n")
file.close()  # Закрытие файла
        

Добавление списка строк в конец файла

Этот пример показывает, как использовать метод writelines() для добавления списка строк в конец файла.


lines = [
    "Appending first line from list.\n",
    "Appending second line from list.\n",
    "Appending third line from list.\n"
]
        
file = open('example.txt', 'a')  # Открытие файла для добавления данных
file.writelines(lines)  # Добавление списка строк
file.close()  # Закрытие файла
        

Добавление строки с указанием кодировки

Этот пример показывает, как открыть файл в режиме добавления с указанием кодировки (например, UTF-8) и добавить строку.


# Открытие файла для добавления данных с указанием кодировки
file = open('example_utf8.txt', 'a', encoding='utf-8')  
file.write("Добавление строки с использованием UTF-8.\n")
file.write("Еще одна строка добавлена.\n")
file.close()  # Закрытие файла
        

Как видите, это очень просто.

2
Задача
Модуль 1: Python Core, 12 уровень, 2 лекция
Недоступна
Создание файла
Создание файла
2
Задача
Модуль 1: Python Core, 12 уровень, 2 лекция
Недоступна
Добавление данных в файл
Добавление данных в файл
Комментарии (3)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Slevin Уровень 1
8 июля 2025
Продолжаем копировать задания из первых лекций уровня...😒
Squeezex Уровень 26
10 марта 2025
Почему-то в IDE задачи не проходят, на сайте прошло всё ок.
Виталий Уровень 48
11 апреля 2025
если в заданиях сказано открыть файл, то я делал в IDE так: создавал файл, записывал в него что либо, закрывал файл. комментил написанный код и после уже открывал файл(как указано в заданиях). все проходит с первого раза.