python导入自定义包

一:导入项目根目录里面的包,有三种方式

1:直接import

这里有个大前提,就是你的py执行文件和模块同属于同个目录(如果同处于一个包中,则模块名需要带上包的名字)

2:通过sys模块导入自定义模块的path(处于包中的模块导入不在包中的模块也可以采用这种方法)

  1. 先导入sys模块

  2. 然后通过sys.path.append(path) 函数来导入自定义模块所在的目录

  3. 导入自定义模块。

3:第三种,通过pth文件找到自定义模块, 创建一个.pth 文件,里面内容就是 要导入的模块所在的位置,然后将该文件放在
python安装目录Python35Libsite-packages

 
导包语法:必须带包名
 

Python中的相对导入语法

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 要使用相对导入语法,目录前面必须有.或者..

原文地址:https://www.cnblogs.com/ydbk/p/14960666.html