python之获取包里面的所有模块列表

本文介绍了如何利用Python的pkgutil模块遍历并加载自定义包中的所有模块,同时调用其中的函数。通过示例展示了在main.py中如何导入clazz包,并使用pkgutil.iter_modules获取 clazz包下的所有模块,打印模块信息,并调用模块中的函数。
摘要由CSDN通过智能技术生成

获取包中的模块

我们常用pkgutil,这个模块的iter_modules方法点击来获取自定义包中的模块

  • 模块中常用的方法点击
  1. 包就是一个文件夹,如果是一个包,他就会有这么多属性在这里插入图片描述

文件夹结构

在这里插入图片描述
first.py

def show_name():
    print("first")

second.py

def show_name():
    print("second")

需求

  • 获取包clazz下所有的模块,并调用模块中的函数

main.py

import pkgutil

import clazz

"""
pkgutil.iter_modules
第一个参数:
    1. 传一个路径
第二个参数:
    1. 传入一个前缀
返回值
    1. 返回一个元祖
        1. 第一个为查找器
        2. 第二个为模块的名字
        3. 第三个为是否是一个包(布尔值)
"""

for filefiner, name, ispkg in pkgutil.iter_modules(clazz.__path__):
    print(filefiner,type(filefiner))
    print(name)
    print(ispkg)

打印如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值