栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python中importlib.import

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python中importlib.import

1、文件结构:

├── clazz
│   ├── __init__.py
│   ├── a.py
│   └── b.py
└── main.py

a.py 的代码

def show():
    print("show A")

b.py 的代码

def show():
    print("show B")

从main中导入clazz包中的a 和b 模块
main.py

import importlib

# 绝对导入
a = importlib.import_module("clazz.a")
a.show()
# 打印结果:show A

# 相对导入
b = importlib.import_module(".b", "clazz")
b.show()
# 打印结果:show B

注意,相对导入有个一点., 类似路径。

2.在一定文件下设定:
文件结构:

│──web_ui_auto_lib
│	├── element_behavior_handlers
│	│   ├── __init__.py
│	│   ├── check_behavior_handler.py
│	│   └── click_behavior_handler.py
│	│   └── close_behavior_handler.py
│	│   └── f5_behavior_handler.py
│	└── main.py

main.py文件下:

# step.Behavior 是遍历步骤的名称:[check,click,close,f5]
module_name = "web_ui_auto_lib." + "element_behavior_handlers." + step.Behavior + "_behavior_handler"  
# 每个py文件中的类名以 [check,click,close,f5] + BehaviorHandler
class_name = step.Behavior + "BehaviorHandler"
module = importlib.import_module(module_name)
# 对象可以引用 module_name 文件 + 类名,
# 所有check_behavior_handler.py,click_behavior_handler.py,close_behavior_handler.py,f5_behavior_handler.py文件下都是 handle_behavior 这个方法
aclass = getattr(module, class_name)
time.sleep(int(step.WaitTime))
handle_behavior = getattr(aclass, "handle_behavior")
returnvalue = handle_behavior(aclass(), self.bm, step)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/864128.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号