Да, синтаксис для Python2 отличается - в отношении аргумента encoding
.
Python2 open
описание:
open(name[, mode[, buffering]])
Python3 open
описание:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
Как выКак видите, в Python 2.7 open
не принимает аргумент encoding
, следовательно, ошибка типа.
Однако вы можете использовать встроенный модуль io
для открытия ваших файлов.Это позволит вам указать кодировку, а также обеспечить совместимость с Python3.Например,
import io
filepath = r'G:\Kodi EPG\ChannelGuide.xml'
with io.open(filepath, "w", encoding = 'UTF-8') as xml_file:
xml_file.write(file_blanker)
Обратите внимание, что вам не нужно явно закрывать файлы при использовании оператора with
.