问题
I have a weird, annoying problem with Python 2.6. I'm trying to run this file (and the other), on my Embedded Linux ARM board. http://svn.tuxisalive.com/software_suite_v3/smart-core/smart-server/trunk/TDSService.py
I get this error:
File "tuxhttpserver.py", line 1 SyntaxError: encoding problem: with BOM
I know that error is about the BOM bytes etc etc. BUT, there are NO BOM bytes, it's plain Ascii. I checked with a Hexeditor, and the linux File command says its Ascii.
Im freaking out here... The code worked fine on my Sheevaplug (also a ARM based system).
回答1:
Don't get too hung up on the "with BOM" remark. It's probably not relevant. What this error usually means is that the Python you are trying to run in does not support the encoding you declare. Observe:
% head -1 tmp.py
# -*- coding: asdfasdfasdf -*-
% python tmp.py
File "tmp.py", line 1
SyntaxError: encoding problem: with BOM
The Python installation you are running on this Embedded Linux ARM board probably lacks the 'latin-1' encoding. Since you don't have any non-ASCII characters in your source file, just declare the encoding as 'ascii', or leave out the encoding altogether.
来源:https://stackoverflow.com/questions/2729260/python-bom-error-in-ascii-file