Я постоянно сталкиваюсь с ошибками при открытии файла в моей программе. Исходный код был простым вызовом для открытия, f = open(file_name, 'w')
или with open(file_name) as f:
. Оба из них бросили подобные ошибки вида UnicodeEncodeError: 'charmap' codec can't encode characters: character maps to <undefined>
.
Ответы на подобные вопросы должны были указывать encoding='utf-8'
внутри функции открытия, которую я пробовал, и это все равно приводило к ошибке. Другим ответом на тот же вопрос было установить encoding='Latin1'
, но это было рекомендовано против, потому что - насколько я понимаю - Latin1 будет работать с любым типом файла независимо от того, правильно ли он кодирует его или нет. Если это дезинформация, пожалуйста, дайте мне знать, потому что я попробовал это с использованием Latin1 независимо от того, и он работал без ошибок.
Я даже пытался загрузить редактор, который сообщает вам метод кодирования, предпочтительный для файла, который вы используете. Я дал ему один из файлов .h5, которые я пытаюсь открыть в программе, и он сказал, что я должен использовать шестнадцатеричный код, который мне удалось найти поддержку только через модуль кодеков при использовании функции кодировщика.
через Sublime Text
Выше я думаю, что использование Latin1 может быть неправильной практикой. Поэтому мой вопрос:
Есть ли способ указать шестнадцатеричное значение для параметра кодирования открытой функции python? Если так, как это будет сделано? (Должен отметить, что я попробовал очевидные решения encoding='hex'
, encoding='hexadecimal'
, и оба они были не распознаны) И / или использует неправильную практику Latin1 для файлов .h5, которые я пытаюсь открыть?