Пишу скрипт, который автоматически переведёт игру. Вся локализация игры лежит в файле с кодировкой utf-8-bom. Я перевожу и записываю перевод в файл, который тоже должен быть utf-8-bom, но python настойчиво делает из него обычный utf-8, чтобы перевести его в bom я создал такую функцию:
def encod_utf8_bom(self, path_on_file: str):
file = open(path_on_file, encoding='utf-8', mode='r')
encoding_file = [line.encode('utf-8-sig') for line in file]
file.close()
file = open(path_on_file, 'wb')
[file.write(line) for line in encoding_file]
file.close()
Но она ставит \ufeff впереди (отображается как точка впереди)
И в итоге перевод не работает. Однако если я сделаю перевод на utf-8 и через Notepad ++ сменю кодировку на utf-8-bom перевод заработает (и отображается без точек). Как мне сделать так же но в python?