最近开始学习python,遇到一些导入模块的问题,花了几分钟终于琢磨明白了,给初学者介绍几种类型:
(一)、
-test_sys
--test1
--nv1.py
--nv2.py
nv1.py 代码如下:
class Dog(): def add(self,a,b): self.a=a self.b=b c=self.a+self.b return cnv2.py 要导入nv1模块的类时:
from nv1 import * A=Dog() print A.add(1,2)(二)、
-test_sys
--test1
--nv1.py
--nv3.py
nv3.py要导入模块nv1的类时:
首先要在test1目录里新建__init__.py文件,新建__init__.py文件后,test1文件就属于一个包,包才可以导入数据
nv3.py:
from test1.nv1 import Dog A=Dog() print A.add(1,2)
(三)、
-test_sys
--test1
--nv1.py
--test2
--nv4.py
nv4.py要导入模块nv1的类时:
首先一样在test1目录里新建__init__.py文件,sys.path.append(****),添加需要导入包路径,sys.path的用法这里就不介绍了
import sys sys.path.append('..\\test1') from nv1 import Dog A=Dog() print A.add(1,2)或者
import sys sys.path.append('..') from test1.nv1 import Dog A=Dog() print A.add(1,2). .是回到上级路径,nv4.py下回到上一级就到了test_sys目录下 此目录下就可以找到test1文件了
(四)
-test_sys
--test1
--nv1.py
--test2
--test3
--nv5.py
nv5.py要导入模块nv1的类时:
import sys sys.path.append('..\\..\\test1') from nv1 import * A=Dog() print A.add(1,2)..\\..\\返回上两级目录
希望对大家有帮助,有错误的地方,麻烦请指出