Ошибка 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 4

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" или вообще оставьте кодировку.