(Python 2.6)
我有一些代码可以根据客户机名称进行定制。在
它是这样做的:
custom_module = __import__("some.module.company_inc")
只要我们的客户机只有ascii名称,这种方法就可以正常工作。在
我想让这个代码对非ascii公司名称也能正常工作,例如
{cd2}
但是,__import__
只接受字节,所以我需要先对其进行编码。在
__import__(u"some.module.unicóde_company_inc".encode(sys.getfilesystemencoding())
是否保证能在所有系统上工作(假设文件系统编码当然支持“o”)?这样做对吗?(假设我不知道盒子使用的编码)
我对linux系统最感兴趣。(但对于非linux系统也很好)
严格地说,在某些情况下,^{} 可能返回{}(例如,如果
LANG
未设置)。因此,考虑到这种(不太可能)的可能性,退回到“utf-8”可能会稍微安全一些:这将覆盖99.9%的病例。对于其余部分,我只允许应用程序引发一个异常(因为它就是这样),然后优雅地退出,并提供适当的信息错误消息。在
相关问题 更多 >
编程相关推荐