__init__.py 如何一次性加载所有py文件的函数,而不必每次进行import
时间: 2023-10-23 17:18:01 浏览: 77
可以使用 Python 的 importlib 包中的函数来实现一次性加载所有 py 文件。具体步骤如下:
1. 使用 os 模块获取目标文件夹中所有的 py 文件路径列表。
2. 使用 importlib 包中的 import_module 函数逐个加载每个 py 文件。
3. 将每个 py 文件中定义的函数或变量保存到一个字典中,以便后续使用。
示例代码如下:
```python
import os
import importlib
def import_all_modules():
module_dict = {}
folder_path = '/path/to/folder'
for filename in os.listdir(folder_path):
if filename.endswith('.py'):
module_name = filename[:-3] # 去掉扩展名 .py
module = importlib.import_module(module_name)
module_dict[module_name] = module
return module_dict
```
这样就可以一次性加载指定文件夹下所有的 py 文件,并且可以通过 module_dict 字典访问每个 py 文件中定义的函数和变量。注意,这种方法只在运行时加载模块,不会在导入时执行模块中的代码。如果需要在导入时执行模块中的代码,可以使用 importlib 包中的 reload 函数。
阅读全文