我试图理解是否根本不可能从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'已添加到my sys.path中,并且0433是正确的代码,但这会因“找不到模块…”而失败。
请注意str(…).decode(…)方法适用于os.open之类的对象,但由于某些原因不适用于加载模块。有不同的编码格式吗?这是不可能的吗?我需要用python 3.x而不是2.7.3来实现不同的语法吗?
编辑:现金奖励是有资格的,如果有人知道这样做的伎俩(在windows上)

最佳答案

是的,这要么是python中不支持windows的bug,要么是windows中不理智和使用utf-8编码的bug。在python27.dll中,您可以进入并查看伪造的模块路径…

关于python - 是否可以从Windows的Unicode路径加载python模块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18115618/

10-11 22:47
查看更多