所以我的脚本位于路径中包含西里尔符号的文件夹中,并且__file__
变量返回“编码错误”而不是真实路径。
添加以下行没有帮助
# -*- coding: cp1252 -*-
我应该怎么办?
python 3.3版本
我不确定这是否能回答你的问题,但是......
在 python3 中,__file__
将当前运行的脚本和路径保存为str
. *nix 系统使用二进制文件名,并且对特定编码没有偏好。当您使用系统时__file__
,系统将尝试获取二进制字符串并使用默认编码系统将其编码为字符串。我想知道您的文件名是否在 cp1252 中,而 python 正试图将其解释为 utf8。
Python 在编码时可能会遵循此处概述的约定:http __file__
: //docs.python.org/2/library/sys.html#sys.getfilesystemencoding
不过,您没有说明您使用的是什么操作系统...