导入某个包下的所有模块

一. 项目目录

二、被调用文件

2.1 一级目录__init__.py

import os

base_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "a")

files = [e for e in os.listdir(base_dir) if not e.startswith('_')]

for model_name in files:
    exec_str = "from a.{0} import *".format(model_name)
    exec(exec_str)

2.2 二级目录__init__.py

import os

base_dir = os.path.dirname(os.path.abspath(__file__))
files = [e for e in os.listdir(base_dir) if not e.startswith('_')]
for file_name in files:
    model_name_list = file_name.split(".")
    if model_name_list[-1] == "py":
        exec_str = "from a.aa02.{0} import *".format(model_name_list[0])
        exec(exec_str)

2.3 调用函数

def aa02_file_func():
    print("成功执行a下的aa02下的aa02_file.py")

def aa01_file_func():
    print("成功执行a下的aa01下的aa01_file.py")

三、exec执行文件如何调用

from a import *

aa01_file_func()

aa02_file_func()

posted @ 2022-04-21 15:01  ami_miao  阅读(53)  评论(0)    收藏  举报