Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下执行。要包含目录里的文件,PHP中只需要给对路径就OK。Python中则不同,下面来看看这个例子。
目录结构:

一、a.py 要 import dir目录下的 b.py 文件。
a.py代码如下:
# coding=utf-8
"import dir 目录下的 b.py 文件"
import dir.b
print dir.b.name
执行 a.py 报错
提示找不到这个模块的名字 dir.b 。通过查找官方文档,发现要包含目录下的文件时需要在目录下声明一个__init__.py文件,即使这个文件是空的也可以。当然这个文件也可以初始一些数据。
于是在 dir 下新建 __init__.py文件,目录结构如下:

重新执行a.py,一切OK!
二、b.py 要 import test目录下的 a.py 文件。
这个时候需要使用到sys模块,b.py文件内容如下:
# coding=utf-8
"import dir 目录下的 b.py 文件"
import sys
sys.path.append('..')
import a
本文介绍了Python中如何正确地从目录中导入模块,并解释了__init__.py文件的作用。通过两个实例,展示了不同场景下的导入技巧。
9790





