python中__init__.py文件

例子

不要使用相对路径。

'''
__init__.py
'''
# from net.functions import *
VERSION = "1.0.0"

import os, sys
module_path = os.path.dirname(__file__)
module_parent_path = os.path.dirname(module_path)
sys.path.extend([module_path, module_parent_path])
from net import *

from functions import *
from net.fnetlogger import FnetLogger

模块导入

在Python中,一个包是一个目录,它包含了一组相关的模块和子包。在这个包目录下,如果存在一个名为__init__.py的文件,它将被视为这个包的初始化模块。

__init__.py的作用是在导入包时执行一些初始化代码,例如设置包的默认属性或者导入子模块。同时,它还可以控制包的导入行为,定义包的接口和子包的可见性等。

下面是一个示例,假设我们有一个名为my_package的包,它包含了两个模块module1module2,并且我们想在包被导入时执行一些初始化代码:

my_package/
    __init__.py
    module1.py
    module2.py

我们可以在__init__.py中编写如下代码:

# my_package/__init__.py

print("Initializing my_package...")

# 导入模块
from my_package import module1
from my_package import module2

# 设置默认属性
VERSION = "1.0.0"

这里我们在__init__.py中输出了一条初始化信息,并导入了module1module2模块。我们还定义了一个名为VERSION的默认属性,可以在其他模块中使用。

当我们导入my_package时,__init__.py会被自动执行,输出初始化信息并导入模块:

import my_package

# 输出 "Initializing my_package..."
# 并导入 my_package.module1 和 my_package.module2

这样,我们就可以在包被导入时执行一些初始化操作,并方便地导入子模块和设置默认属性。

建议不要使用相对路径,即点符号

不要使用相对路径。

点符号

从如下代码:

from . import module1

代码中的点符号是相对路径,是相对当前模块文件夹的路径,而不是编译器等其他路径。即如下:

# . in __init__.py the same as
os.path.dirname(__file__)

关于import *

# __init__.py
from . import *	# attention:: DO NOT Use Relative Path.
from xx import *

# the same as
from os import *

在python的__init__.py文件中经常能看到import *,它的意思就是将文件中的函数,变量,类等全导入。列入你在文件中有个属性是Pi,你在使用from xx import Pi后,你便可以直接调用Pi,而不需要使用xx.Pi来调用Pi。

你可能感兴趣的:(yuque,python,信息可视化,windows)