首先需要说明模块便是最基本的.py文件,package是含有__init__.py的文件夹,单独的文件夹本身不含__init__.py。
调包的时候首先会执行__init__.py文件。
下面进行举例说明:
1. 以文件夹的方式导入
从上图,可以看出TestInitPackage、subdir1、Testdir均为文件夹, subdir2为package。
myfunction1.py 的程序
def func1():
print('subdir1')
myfunction2.py 的程序
def func2():
print('subdir2')
假设主程序为test.py,想要调用myfunction1.py中的func1(), 此时发现要调用的代码段的位置和myfunction1.py并不在同一级目录下,所以这里涉及到了python的搜索路径的问题,需要添加subdir1的路径到搜索路径中,代码如下:
import os
import sys
absPath = os.path.abspath(__file__) #返回代码段所在的位置,肯定是在某个.py文件中
temPath = os.path.dirname(absPath) #往上返回一级目