我的一些代码使用现已弃用的 imp 包来查找模块
toolboxFile, toolboxPath, toolboxDescription = imp.find_module("Tools")
使用 package importlib 获得相同结果的等效函数或代码是什么?
原文由 Marc 发布,翻译遵循 CC BY-SA 4.0 许可协议
我的一些代码使用现已弃用的 imp 包来查找模块
toolboxFile, toolboxPath, toolboxDescription = imp.find_module("Tools")
使用 package importlib 获得相同结果的等效函数或代码是什么?
原文由 Marc 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
同一文件夹
如果模块在您的工作目录中,
importlib.util.find_spec
可能足以满足您的需要。例如,如果你只想加载模块,你可以使用:
警告:我没有对此进行测试,但它直接来自 文档,所以我认为它可以工作。
您可以使用
toolbox_specs
对象评估其他几个属性。然而,例如,相应的文件对象不在其中。如果您在 Python 3 中确实需要它,您可能必须获取文件的路径并使用其他方法打开它。不同的文件夹
要在不同的文件夹中查找模块,您必须使用
FileFinder
,而后者又需要知道模块的类型。例如,如果您的模块是一个扩展,您可以找到如下规格:然后您可以处理
toolbox_specs
如上所述。