В Python 3.15 текстовый ввод-вывод по умолчанию использует UTF-8. Это убирает часть различий между платформами, но файл в CP1251 остаётся файлом в CP1251.
В руководстве по переходу предлагают сначала найти операции с неявной кодировкой:
python -X warn_default_encoding app.py
Предупреждения покажут выполненные вызовы, где кодировка не указана. Для остальных путей пригодится статическая проверка.
Указывайте
encoding="utf-8" для UTF-8 и encoding="cp1251" для известных старых файлов. Если нужна именно кодировка локали пользователя, используйте encoding="locale".Не добавляйте
errors="ignore" ради исчезновения ошибки: так можно незаметно потерять символы. Перед обновлением проверьте реальные входные файлы, включая выгрузки из старых систем.#python #файлы
