您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

存在相同名称的模块时从内置库导入

存在相同名称的模块时从内置库导入

公认的解决方案包含一种现已弃用的方法

这里的importlib文档为直接从python> = 3.5的文件路径中加载模块的更合适方法提供了一个很好的示例:

import importlib.util
import sys

# For illustrative purposes.
import tokenize
file_path = tokenize.__file__  # returns "/path/to/tokenize.py"
module_name = tokenize.__name__  # returns "tokenize"

spec = importlib.util.spec_from_file_location(module_name, file_path)
module = importlib.util.module_from_spec(spec)
sys.modules[module_name] = module
spec.loader.exec_module(module)

因此,您可以从路径加载任何.py文件,并将模块名称设置为所需的名称。因此,只需将设置module_name为您希望模块在导入时使用的任何自定义名称即可。

要加载软件包而不是单个文件file_path应为软件包根目录的路径__init__.py

其他 2022/1/1 18:46:49 有283人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶