Вы хотели дописать новые строки в существующий файл report.txt, но открыли его как open("report.txt", "w"). Что произойдёт?
AНовые строки допишутся в конец, старое содержимое сохранится: режим
w ведёт себя как режим добавленияBФайл будет очищен и перезаписан с начала: содержимое исчезнет, потому что
w обнуляет файл при открытииCБудет ошибка времени выполнения: режим
w для текстовых файлов с расширением .txt запрещён, нужен wtDФайл откроется только для чтения: попытка записи вызовет исключение
io.UnsupportedOperationПравильный ответ. Режим
w всегда очищает файл, если он уже существует, и запись начинается с нуля.Разбор
Открытие файла через open("report.txt", "w") приводит к перезаписи: содержимое файла обнуляется, и запись начинается заново. Это частая ошибка, когда нужно было дописать в конец. Для дописывания используют open("report.txt", "a") (режим добавления), а для безопасной работы — обычно в связке с менеджером контекста with. Ошибки или режима «только чтение» здесь не будет.
Проверь себя · 1/3разбор после ответа
Есть словарь
cfg = {"threshold": 0.8}. После s = json.dumps(cfg) что хранится в s?Ещё вопросы по теме «Работа с файлами: JSON и CSV»
- Вы сохраняете результат анализа в файл отчёта. Что произойдёт, если выполнить `open("report.csv", "w")`, когда `report.csv` уже существует?
- Что гарантирует конструкция `with open("data.csv", "r") as f:` при чтении файла в Python?
- Есть строка `text = '{"user_id": 7, "active": true}'`. Что вернёт `json.loads(text)`?
- Вы читаете CSV с заголовком через `csv.DictReader(f)`. Что представляет собой `row` внутри цикла `for row in csv.DictReader(f):`?
- Вы хотите дописывать строки в файл лога `errors.log`, не удаляя то, что уже записано. Как открыть файл?
- Все вопросы по «Работа с файлами: JSON и CSV» →