5

我对 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 的系统)上运行良好。

4

1 回答 1

10

不要太在意“with BOM”这句话。这可能不相关。此错误通常意味着您尝试运行的 Python 不支持您声明的编码。观察:

% head -1 tmp.py
# -*- coding: asdfasdfasdf -*-
% python tmp.py
  File "tmp.py", line 1
SyntaxError: encoding problem: with BOM

您在此嵌入式 Linux ARM 板上运行的 Python 安装可能缺少“latin-1”编码。由于源文件中没有任何非 ASCII 字符,只需将编码声明为“ascii”,或完全省略编码。

于 2010-04-28T12:18:37.120 回答