首页 > 后端开发 > Python教程 > 如何使用完整文件路径动态导入 Python 模块?

如何使用完整文件路径动态导入 Python 模块?

Patricia Arquette
发布: 2024-12-30 17:31:13
原创
643 人浏览过

How Can I Dynamically Import Python Modules Using Their Full File Paths?

动态导入具有指定完整路径的模块

可以通过提供完整文件路径将Python 模块导入到脚本中。此方法允许您加载可能事先不知道或位于标准库之外的模块。

使用 Importlib 加载模块

在 Python 3.5 及更高版本中,使用 importlib.util module:

import importlib.util
import sys

spec = importlib.util.spec_from_file_location("module.name", "/path/to/file.py")
foo = importlib.util.module_from_spec(spec)
sys.modules["module.name"] = foo
spec.loader.exec_module(foo)
foo.MyClass()
登录后复制

使用 SourceFileLoader 加载模块 (Python 3.3-3.4)

在 Python 3.3 和 3.4 中,使用 importlib.machinery 中的 SourceFileLoader:

from importlib.machinery import SourceFileLoader

foo = SourceFileLoader("module.name", "/path/to/file.py").load_module()
foo.MyClass()
登录后复制

使用 imp 加载模块 (Python 2)

对于 Python 2,使用 imp 模块:

import imp

foo = imp.load_source('module.name', '/path/to/file.py')
foo.MyClass()
登录后复制

附加注释

  • 提供的代码假设模块包含一个名为 MyClass 的类。
  • 有类似的函数用于导入已编译的 Python 文件和 DLL。
  • 有关更多信息,请参阅Python错误报告:http://bugs.python.org/issue21436。

以上是如何使用完整文件路径动态导入 Python 模块?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板