python的搜索路径其实是一个列表,它是指导入模块时,python会自动去找搜索这个列表当中的路径,如果路径中存在要导入的模块文件则导入成功,否则导入失败:
>>> importsys>>>sys.path
['', 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip', 'C:\\Python33\\DLLs', 'C:\\Python33\\lib', 'C:\\Python33', 'C:\\Python33\\lib\\site-packages']>>> importTemperatureConversion
Traceback (most recent call last):
File"", line 1, in
importTemperatureConversion
ImportError: No module named'TemperatureConversion'
>>> sys.path.append('E:\\python')>>>sys.path
['', 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip', 'C:\\Python33\\DLLs', 'C:\\Python33\\lib', 'C:\\Python33', 'C:\\Python33\\lib\\site-packages', 'E:\\python']>>> importTemperatureConversion>>>TemperatureConversion.c2f(0)32.0
>>>
注意:上述的TemperatureConversion模块在本地磁盘的E:\python文件夹下,该模块有c2f()与f2c()两个函数。
python的包是为了更好地组织代码模块,说白了包其实就是用一个文件夹把相关的模块都放在这个文件夹下。包的创建需要满足以下3个步骤:
1.创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
2.在文件夹中创建一个__init__.py的模块文件,文件内容可以为空;
3.强相关的模块放入文件夹中。
那么,被放到包中的模块该如何导入呢?其实是很简单的,即“import 包名.模块名 as 别名”就可以了。假设我们将上述的TemperatureConversion模块放到一个名叫testpackage的包中,要导入该模块的话,只需要执行“import testpackage.TemperatureConversion as tc”即可。
>>> importtestpackage.TemperatureConversion as tc>>>tc.c2f(0)32.0
>>>