模块、包

参考: http://www.cnblogs.com/linhaifeng/articles/6379069.html

 

 1.模块是用来组织python代码的方法,而包用来组织模块。

2. 使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此, 我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名字冲突.

3.包:避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package).只要顶层的包名不与别人冲突,那所有模块都不会与别人冲突 每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。__init__.py 可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是 本目录名字。

 

4.每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。 通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。 我们在导入一个包时,实际上是导入了它的__init__.py文件 。 这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入.

5.模块搜索路径, sys.path 可以查看

方法一:函数添加
1 import sys
2 查看sys.path
3 添加sys.path.append("c:\\")

方法二:修改环境变量
w用户可以修改系统环境变量PYTHONPATH

方法三:增加.pth文件,推荐!
在site-packages添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了。
 1 windows
    c:\python27\site-packages
# 我们的学员把pth文件直接放在c:\python27
# (或其他python安装目录)目录下测试也是有效的
# 2015.9.23
  2 linux(ubuntu)
   /usr/local/lib/python2.7/dist-packages  (note by shanql, 我是放在这个目录下有效的,所添加的目录一定要存在,不存在则会不成功)
2 linux(redhat)
   /usr/lib/python2.7/site-packages

 

2. BASEDIR

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
posted @ 2018-04-04 15:23  你的泪我的眼  阅读(167)  评论(0编辑  收藏  举报