经历了相关问题,但找不到这个具体的答案。
我们将 python 嵌入到我们的应用程序中,并在 sys.meta_path 中添加了一个钩子,以允许导入任意命名的模块。(也就是说,模块定义不在磁盘上,而是在包内的内存中定义)。
这允许以下内容:
import my_module_1#2#31421
甚至:
__import__("my_module_1#2#31321")
当特定标签本身包含斜杠时会出现问题。
import my_module_1/123/56
或者
__import__("my_module_1/123/56")
在读取我的 meta_path 钩子之前,它会创建以下错误。
ImportError:不支持按文件名导入。
我也尝试过类似的东西:
import imp imp.load_source('my_module_1', '123/56')
但是同样,这甚至没有到达 meta_path 钩子。我需要传递的任意名称实际上是“路径”,但不指磁盘路径。
有没有人有什么建议?
非常感谢,罗布。