Skip to content
import importlib
import pkgutil

# 动态导入包
package = importlib.import_module('tests.modules')

# 获取包的路径
package_path = package.__path__

# 打印包的路径
print("包的路径", package_path)

# 打印包的名称
print("包的名称", package.__name__)


# 获取包下的所有模块
modules = pkgutil.iter_modules(package_path, package.__name__ + ".")
print("包下的所有模块对象", modules)

# 遍历模块
for module in modules:
    print("模块名称", module.name)
    print("模块路径", module.ispkg)
    print("模块路径", module.ispkg)
"""
name: 要导入的模块或包的名称(字符串)。
globals: 全局命名空间字典(通常不需要显式指定)。
locals: 局部命名空间字典(通常不需要显式指定)。
fromlist: 一个列表,指定要从模块中导入的子模块或属性。如果为空列表 [],则导入整个包。
level: 相对导入的级别(通常不需要显式指定)。
"""

# 1. 导入整个包
package = __import__('tests.modules', fromlist=[''])
print(package.__name__)  # 输出: tests.modules
print(package.__path__)  # 输出: ['D:\\桌面\\test\\fast-api-admin\\tests\\modules']

# 2. 导入特定子模块
submodule1 = __import__('tests.modules.submodule1', fromlist=['greet'])
submodule2 = __import__('tests.modules.submodule2', fromlist=['greet'])
print(submodule1.__name__)  # 输出: tests.modules.submodule1
print(submodule1.greet())  # 输出: Hello from submodule1
print(submodule2.__name__)  # 输出: tests.modules.submodule2
print(submodule2.greet())  # 输出: Hello from submodule2

✨ 网站运行时间: 3年11月15天 ❤️ 道阻且长,行则将至 - 微信号: heikedreamer