一:导入项目根目录里面的包,有三种方式
1:直接import
这里有个大前提,就是你的py执行文件和模块同属于同个目录(如果同处于一个包中,则模块名需要带上包的名字)
2:通过sys模块导入自定义模块的path(处于包中的模块导入不在包中的模块也可以采用这种方法)
-
先导入sys模块
-
然后通过
sys.path.append(path)
函数来导入自定义模块所在的目录 -
导入自定义模块。
3:第三种,通过pth文件找到自定义模块, 创建一个.pth 文件,里面内容就是 要导入的模块所在的位置,然后将该文件放在python安装目录Python35Libsite-packages
导包语法:必须带包名
Python中支持相对导入语法,即可以相对于某一个package进行导入,具体语法如下:
# 导入"./dir2/spam.py", .表示当前目录 from .dir2 import spam # 导入"./../dir3/spam.py", .表示当前目录, ..表示上一级目录 from ..dir3 import spam
要使用相对导入语法,必须满足以下3个条件:
1 该语法只能在package中使用(即使用该语法的文件位于可以位于一个普通的package中<包含__init__.py>,也可以位于一个namespace package中),否则导入失败;
2 只有from有相对导入语法,import没有
3 要使用相对导入语法,目录前面必须有.或者..