ASCIIファイルのPython BOMエラー
-
02-10-2019 - |
質問
Python 2.6には奇妙で迷惑な問題があります。埋め込まれたLinuxアームボードで、このファイル(およびもう1つ)を実行しようとしています。http://svn.tuxisalive.com/software_suite_v3/smart-core/smart-server/trunk/tdsservice.py
このエラーが発生します:
ファイル "tuxhttpserver.py"、行1 syntaxerror:エンコード問題:with bom
私はエラーがBOMバイトなどに関するものであることを知っています。しかし、BOMバイトはありません、それは単純なASCIIです。私は六角形で確認しましたが、LinuxファイルコマンドはASCIIと書かれています。
ここでおかしくなりました...コードは私のsheevaplug(またアームベースのシステム)で正常に機能しました。
解決
「BOMで」発言に夢中になりすぎないでください。おそらく関連性はありません。このエラーが通常意味するのは、実行しようとしているPythonが宣言するエンコードをサポートしていないことです。観察:
% head -1 tmp.py
# -*- coding: asdfasdfasdf -*-
% python tmp.py
File "tmp.py", line 1
SyntaxError: encoding problem: with BOM
この組み込みLinuxアームボードで実行しているPythonインストールには、おそらく「ラテン-1」エンコードがありません。ソースファイルにASCII以外の文字がないため、エンコードを「ASCII」と宣言するか、エンコードを完全に除外してください。
所属していません StackOverflow