当我们的应用程序慢慢变大时,首先我们可以讲自己写的代码按模块划分,其次还可以把不同类别的模块放置到不同的文件中,这样才能有序的管理我们整个项目代码,所以这里就讲述下不同情况下import其他模块时的方法:
在python里面,模块指的是一个.py文件里面所包含所有东西的组合,模块名称就是此文件名,然后在这个文件里面定义的各种函数,变量,类都是所属这个模块的,可以通过该模块名称来引用*
1. 引入当前执行目录下的模块
可以直接在需要引入模块文件的地方import进需要被引入的模块,比如
1. from moduleName import *
2. import moduleName (*表示引入该模块下所有东西,包括函数,变量,类等)
2. 引入当前执行目录下子文件夹里面的模块
在引入的模块名字前加子文件路径,而且子文件夹下面需要包含一个init.py文件,用于python初始此文件夹,当然文件里面可以是空的,比如
from dirName.moduleName import *
3. 引入当前执行目录文件夹兄弟文件夹下面的模块
这里的话就需要多说一点了,其实针对上面的情况1和2,本人都是在python集成开发工具里面操作的,之所以能那样引入,是因为开发工具帮我们做了一件事情,当我们在开发工具里面执行或调试一个python文件时,此时它会默认(wingware 还可以自定义此选项)把当前文件所在目录添加到python的环境变量里面去,这样执行python命令时会搜索该文件夹下面的内容,所以才能引入同目录模块或者子文件下面的模块。
然后当我们需要引入其他文件夹下面的模块时,我们需要做的是先要把目标模块所在文件夹加入到python的sys.path里面,然后就可以引入了
添加path的代码示例,
#encoding=utf-8
import sys
import os
currentUrl = os.path.dirname(__file__)
parentUrl = os.path.abspath(os.path.join(currentUrl, os.pardir))
print(parentUrl)
#把某个文件夹路径添加到path下,以引入该目录下的模块
sys.path.append(parentUrl)
在需要用到模块的地方,引入所需模块
from dirName.moduleName import *
上面三种情况就是常见的三种了,谢谢