Ascii文件中的Python BOM错误

时间:2010-04-28 12:11:54

标签: python encoding ascii byte-order-mark

我有一个奇怪的,恼人的Python 2.6问题。我正在尝试在我的嵌入式Linux ARM板上运行此文件(和另一个)。 http://svn.tuxisalive.com/software_suite_v3/smart-core/smart-server/trunk/TDSService.py

我收到此错误:

  

文件“tuxhttpserver.py”,第1行   SyntaxError:编码问题:with   BOM

我知道错误是关于BOM字节等等。但是,没有BOM字节,它是简单的Ascii。我用Hexeditor检查了,linux File命令说明了它的Ascii。

我吓坏了......我的Sheevaplug(也是一个基于ARM的系统)的代码运行良好。

1 个答案:

答案 0 :(得分:10)

不要太过挂在“带有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”,或完全省略编码。