Ошибка Python BOM в файле Ascii
У меня есть странная, раздражающая проблема с Python 2.6. Я пытаюсь запустить этот файл (и другой) на моей встроенной плате Linux ARM. http://svn.tuxisalive.com/software_suite_v3/smart-core/smart-server/trunk/TDSService.py
Я получаю эту ошибку:
Файл "tuxhttpserver.py", строка 1 SyntaxError: проблема кодирования: с BOM
Я знаю, что ошибка связана с байтами BOM и т. д. Но там нет байтов BOM, это обычный Ascii. Я проверил с Hexeditor, и командный файл ОС Linux говорит, что его в ASCII.
Я тут с ума схожу... Код отлично работал на моем Sheevaplug (также система на основе ARM).
1 ответ:
Не слишком зацикливайтесь на замечании "с BOM". Возможно, это не имеет отношения к делу. Эта ошибка обычно означает, что Python, который вы пытаетесь запустить, не поддерживает объявленную вами кодировку. Обратите внимание:
% head -1 tmp.py # -*- coding: asdfasdfasdf -*- % python tmp.py File "tmp.py", line 1 SyntaxError: encoding problem: with BOM
Установка Python, которую вы запускаете на этой встроенной плате Linux ARM, вероятно, не имеет кодировки "latin-1". Поскольку в исходном файле нет символов, отличных от ASCII, просто объявите кодировку как "ascii" или вообще оставьте кодировку.