Работа с файлами python

Есть текстовый файл в кодировке utf-8, его надо скопировать в другую директорию с другим именем и кодировкой cp1251. В данный момент использую алгоритм, считать все что лежит в файле в строку, записать строку в другой файл используя кодировку cp1251. Проблема в том что при таком решении не сохраняются переносы строк. Вопрос заключается в том как полностью скопировать файл при этом поменять кодировку


Ответы (1 шт):

Автор решения: Victor VosMottor
import codecs
BLOCKSIZE = 1048576 # or some other, desired size in bytes
with codecs.open(sourceFileName, "r", "utf-8") as sourceFile:
    with codecs.open(targetFileName, "w", "cp1251") as targetFile:
        while True:
            contents = sourceFile.read(BLOCKSIZE)
            if not contents:
                break
            targetFile.write(contents)

source

→ Ссылка