__init__.py文件的作用
将一个文件夹变成了一个包
- 可以通过
文件夹名.函数
调用__init__.py
里的函数
例如:
-文件夹(net)
-py文件(__init__.py)
-py文件(main.py)
文件存储格式如上所示
__init__.py
def get():
return 0
main.py
from net import get
a = get()
- 可以通过
文件名.包
调用__init__.py
里的包
文件存储格式如上所示
__init__.py
import torch
main.py
import net.torch
a = net.torch.randn((178))
__init__.py
与 import_class
函数的配合使用:
def import_class(name):
components = name.split('.')
mod = __import__(components[0]) # import return model
for comp in components[1:]:
mod = getattr(mod, comp)
return mod
在__init__.py
下写出当前目录的py文件.函数(类)
,可以通过import_class
函数解出函数
Model文件夹
__init__.py
import Model.model2
import Model.models
main.py
def import_class(name):
components = name.split('.')
mod = __import__(components[0]) # import return model
for comp in components[1:]:
mod = getattr(mod, comp)
return mod
c = Model.models.Model
可以解出Model文件夹下的models文件中的Model类