0

したがって、私のスクリプトは、パスにキリル記号を含むフォルダーにあり、__file__

変数は、実際のパスではなく「エンコード エラー」を返します。

次の行を追加しても役に立たない

# -*- coding: cp1252 -*-

私は何をすべきか?

Python 3.3 のバージョン

4

1 に答える 1

0

これがあなたの質問に答えているかどうかはわかりませんが...

python3 では__file__、現在実行中のスクリプトとパスをstr. *nix システムはファイル名にバイナリを使用し、特定のエンコーディングを優先しません。を使用する__file__と、システムはバイナリ文字列を取得し、デフォルトのエンコード システムを使用して文字列にエンコードしようとします。おそらくファイル名が cp1252 にあり、python がそれを utf8 として解釈しようとしているのだろうかと思っています。

Python は、エンコード時にここで概説されている規則に従う場合があります__file__: http://docs.python.org/2/library/sys.html#sys.getfilesystemencoding

ただし、使用しているOSについては述べていません...

于 2014-03-03T19:47:50.350 に答える