如果文件夹下没有 __init__.py
则该目录名被认为是模块。
导入包时都会执行一次包下的 __init__.py
,且只执行一次。init.py 中可以写代码,可以 import 东东,或 sys.path.append。
from package import *
只会将包目录下的 __init__.py
里的 all 里的成员暴露出来。而 import package
,有了前缀后,则能访问的成员都能访问,不受 all 影响。
sys.path.append('./package') 添加搜索模块的路径。搜索模块 A.b
时会在所有的已知路径后面加上 A/b
。比如当前搜索路径是:/Users/MoonBall/PycharmProjects/
,则搜索模块路径为:/Users/MoonBall/PycharmProjects/A/b
。