请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

模板之家 首页 教程频道 查看内容

Python之Importlib与__import__详解

模板之家 2020-8-31 10:02

分享至 : QQ空间
收藏

Importlib是python的一个库,通过导入importlib,调用import_module()方法,传入用户想要获取的模块对应的路径字符串,即可获取一个,模块module,module可以调用这个test模块下的所有属性和方法。

Importlib模块与__import__都可以通过过字符串来导入另外一个模块,但在用法上和本质上都有很大的不同。

以一个例子为证:

以下为我的工程目录结构:

z.png

lib/test.py:

name = "Jack"
def getName():
print(name)
return name

demo.py:

name = "Amy"
def getName():
print(name)
return name

相关推荐:《Python视频教程》

Importlib模块的例子:

testImportlib.py:

import importlib
mName = "lib.test"
module = importlib.import_module(mName)
module.getName()

Importlib是python的一个库,通过导入importlib,调用import_module()方法,传入用户想要获取的模块对应的路径字符串,即可获取一个,模块module,module可以调用这个test模块下的所有属性和方法。

运行截图:

x.jpg__import__的例子:

__import__是python的一个内置方法,直接调用__import__()即可获取一个模块。

testImport.py:

mName = "demo"
module = __import__(mName)
module.getName()

此时调用的是相同目录下的demo模块,可顺利地获取这个模块,那么当不再同一个目录下呢?

修改testImport.py:

mName = "lib.test"
module = __import__(mName)
module.getName()

此时的运行结果为:

c.jpg出错提示为,当前的模块'lib'没有getName()这个方法,因此没有正确获取到test模块。

继续修改此文件:

mName = "lib.test"
module = __import__(mName,fromlist = ('test',))
module.getName()

运行结果为:

v.jpg当加上fromlist属性即可正确获取。


路过

雷人

握手

鲜花

鸡蛋
来自: Python学习网
文章评论0人参与
热门频道
  • ecshop微信小程序代生成服务 非官方版本 可
  • 【可选购小程序】ecshop生鲜食品蔬菜水果特
  • 【可选购小程序】ecshop医药品保健药房网站
  • ecshop百货超市日用品网站 免费生成微信小
  • ecshop办公用品文具耗材设备 免费生成微信
  • 【可选购小程序】ecshop家居家纺床上用品源
  • 【可选购小程序】ecshop户外运动体育用品健
  • ecshop整站数据打包 带数据 适合申请支付、
  • ecshop跨境购海淘微信分销商城网站源码模板
  • ecshop服装服饰女装网站商城模板 oss php7
    推荐文章
  • 热门
  • 最新
返回顶部