首页 > 后端开发 > Python教程 > 如何从特定文件路径动态导入Python模块?

如何从特定文件路径动态导入Python模块?

Linda Hamilton
发布: 2024-12-20 11:37:09
原创
944 人浏览过

How Can I Dynamically Import a Python Module from a Specific File Path?

从指定路径动态导入模块

在Python中,导入模块通常是通过指定模块名称来实现的。但是,如果您需要从特定文件导入模块,无论其在文件系统中的位置如何?

解决方案:

动态导入基于其完整路径,您可以利用以下任何技术:

Python 3.5 (推荐):

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()  # Access a class within the module
登录后复制

Python 3.3 和 3.4:

from importlib.machinery import SourceFileLoader

foo = SourceFileLoader("module.name", "/path/to/file.py").load_module()
foo.MyClass()  # Access a class within the module
登录后复制

Python 2:

import imp

foo = imp.load_source('module.name', '/path/to/file.py')
foo.MyClass()  # Access a class within the module
登录后复制

请注意,这些方法提供了导入已编译的 Python 文件和DLL 也是如此。

附加说明:

值得一提的是,当使用动态生成的模块或未安装在任何模块中的模块时,此方法特别有用。标准 Python 路径。

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

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