Python-如何导入给定完整路径的模块?

给定Python模块的完整路径,如何加载它?注意,该文件可以位于文件系统中的任何位置,因为它是一个配置选项。

回答:

对于Python 3.5+,请使用:

import importlib.util

spec = importlib.util.spec_from_file_location("module.name", "/path/to/file.py")

foo = importlib.util.module_from_spec(spec)

spec.loader.exec_module(foo)

foo.MyClass()

对于Python 3.3和3.4,请使用:

from importlib.machinery import SourceFileLoader

foo = SourceFileLoader("module.name", "/path/to/file.py").load_module()

foo.MyClass()

(尽管在Python 3.4中已弃用此功能。)

对于Python 2,请使用:

import imp

foo = imp.load_source('module.name', '/path/to/file.py')

foo.MyClass()

编译后的Python文件和DLL具有等效的便捷功能。

以上是 Python-如何导入给定完整路径的模块? 的全部内容, 来源链接: utcz.com/qa/422756.html

回到顶部