我在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 File命令说它是Ascii。
我在这里吓到了…代码在我的Sheevaplug(也是基于ARM的系统)上运行良好。
不要太在意“ 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”,或者完全不使用编码。