Loading

__init__.py文件的作用

将一个文件夹变成了一个包

  1. 可以通过文件夹名.函数调用__init__.py里的函数
    例如:
-文件夹(net)
   -py文件(__init__.py)

-py文件(main.py)
文件存储格式如上所示
__init__.py
def get():
    return 0

main.py
from net import get
a = get()
  1. 可以通过文件名.包调用__init__.py里的包
文件存储格式如上所示
__init__.py
import torch

main.py
import net.torch
a = net.torch.randn((178))

__init__.pyimport_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类

posted @ 2021-03-04 21:33  Guang'Jun  阅读(112)  评论(0编辑  收藏  举报