我试图了解是否根本不可能从 unicode 路径加载 python 模块,或者我是否缺少一些技巧。这个错误报告似乎暗示这是不可能的: http: //bugs.python.org/issue11619
目标:假设 C:\Users\pkarasev\д 包含 Foo.py ,那么我想这样做:
import sys
sys.path.append(str('c:/Users/pkarasev/\xd0\xb3').decode('utf-8') )
from Foo import *
尽管 u'c:/Users/pkarasev/\0433' 已添加到我的 sys.path 并且 0433 是 ä 的正确编码,但此操作失败并显示“找不到模块...”。
请注意 str(...).decode(...) 方法适用于 os.open 之类的东西,但由于某些原因不适用于加载模块。编码有不同的格式吗?这个动作是不可能的吗?我是否需要使用具有不同语法的 python 3.x 而不是 2.7.3?
编辑:如果有人知道这样做的技巧(在 Windows 上),则有资格获得现金奖励