Будут ли переписываться данные в файле, если название файла одно и то же?

Рейтинг: 1Ответов: 2Опубликовано: 16.03.2023

Будут ли переписываться данные в файле, если название файла одно и то же? Пример кода:

with open("C:/Users/SERGEY/PycharmProjects/ТЕСТ/venv/Товары.csv", "a",
          encoding='utf-8-sig', newline='') as f:
    ...

Или данные будут дописываться внизу строки?

Ответы

▲ 3Принят

В вашем коде, данные будут дописываться внизу.

Добавляю всю таблицу режимов открытия файла (mode, второй параметр функции open):

Символ Пояснение
'r' Открыть для чтения (по умолчанию)
'w' Открыть для записи, удаляет содержимое, если файл существует
'x' Открыть и создать файл, ошибка, если файл уже существует
'a' открыть для записи, добавив в конец файла, если он существует
'b' бинарный режим
't' текстовый режим (по умолчанию)
'+' открыть для обновления (чтение и запись)
▲ 3

Собственно, всё написано в документации:

'a' - open for writing, appending to the end of file if it exists

У вас выбран режим добавления в конец файла "a". Режим открытия файла mode= - это второй параметр функции open:

open(file, mode='r', buffering=- 1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

with open("C:/Users/SERGEY/PycharmProjects/ТЕСТ/venv/Товары.csv", "a",
                                                                  ^^^ режим доступа к файлу