当前位置: 首页 > 面试题库 >

给定完整路径,如何导入模块?

昝浩阔
2023-03-14
问题内容

给定完整路径,如何加载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模块的完整路径,如何加载它?注意,该文件可以位于文件系统中的任何位置,因为它是一个配置选项。 问题答案: 对于Python 3.5+,请使用: 对于Python 3.3和3.4,请使用: (尽管在Python 3.4中已弃用此功能。) 对于Python 2,请使用: 编译后的Python文件和DLL具有等效的便捷功能。

  • 问题内容: 给定完整路径,如何在Python 3.4中加载Python模块? 类似的问题如何在给定完整路径的情况下导入模块?涵盖了3.4之前的Python版本,但是得出的结论是,对于给出的答案,Python 3.4的支持已被弃用,因此赞赏所有针对Python 3.4的解决方案。 请注意,此问题与“导入任意python”源文件不是重复的。(Python 3.3+),因为对此的答案也使用了Python

  • 问题内容: 标准库清楚地说明了如何直接导入源文件(给定源文件的绝对文件路径),但是如果该源文件使用隐式同级导入(如以下示例中所述),则此方法不起作用。 在隐式同级导入的情况下,该示例如何适应工作? 我已经签出这个和这个其他的话题#1的问题,但他们并没有解决隐同级进口 内 用手导入的文件。 设置/示例 这是一个说明性的例子 目录结构: : : : 使用该块运行注释掉了Python 3.6中的收益。

  • 这里是node.js的新成员; 我安装了它,并试图使用w3模块(在windows上)。 我已将我的全球回购位置更改为:

  • 问题内容: 有没有一种简单的方法可以打印的完整路径? 的 应该打印 问题答案: 使用 readlink :

  • 10.2. 导入路径 每个包是由一个全局唯一的字符串所标识的导入路径定位。出现在import语句中的导入路径也是字符串。 import ( "fmt" "math/rand" "encoding/json" "golang.org/x/net/html" "github.com/go-sql-driver/mysql" ) 就像我们在2.6.1节提到过