我有一个奇怪的,恼人的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的系统)的代码运行良好。
答案 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”,或完全省略编码。