python的搜索路径与包(package)
python的搜索路径其实是一个列表,它是指导入模块时,python会自动去找搜索这个列表当中的路径,如果路径中存在要导入的模块文件则导入成功,否则导入失败:
>>> import sys
>>> sys.path
['', 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip', 'C:\\Python33\\DLLs', 'C:\\Python33\\lib', 'C:\\Python33', 'C:\\Python33\\lib\\site-packages']
>>> import TemperatureConversion
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
import TemperatureConversion
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']
>>> import TemperatureConversion
>>> 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”即可。

>>> import testpackage.TemperatureConversion as tc
>>> tc.c2f(0)
32.0
>>>
python的搜索路径与包(package)的更多相关文章
- python基础:搜索路径
如何将写好的脚本或者是模块加入python的搜索路径? >>>import sys >>> sys.path ['', '/Library/Frameworks/P ...
- Python 学习 第十五篇:模块搜索路径和包导入
在导入自定义的模块时,除了指定模块名之外,也需要指定目录,由于Python把目录称作包,因此,这类导入被称为包导入.包导入把计算机上的目录变成Python的命名空间,而目录中所包含的子目录和模块文件则 ...
- Python 模块搜索路径 -- (转)
最近在看<Python源码剖析>,对Python内部运行机制比以前了解的更深入了,感觉自己有机会也可以做个小型的动态脚本语言了,呵呵,当然是吹牛了.目的当然不是创造一个动态语言,目的只有一 ...
- Python(模块(modue)、包(package))
''' 一 模块 模块一共三种: python标准库 第三方模块 应用程序自定义模块 模块两种执行方式: 1 用于启动执行 2 用于被调用执行 key:import module: 将执行文件(mod ...
- 21.python的模块(Module)和包(Package)
目录 模块(Module)和包(Package) 模块(modue)的概念 模块导入方法 1.import 语句 2.from-import 语句 3.from-import* 语句 4.运行本质 i ...
- 小甲鱼第51讲:《__name__="__main__"、搜索路径和包》课后练习题
测试题: 0. __name__属性指的是在调用该模块的时候调用的函数名称,方便在模块的被调用的时候,模块内部被调用的函数不会被运行. 1. 当模块作为主程序运行的时候,__name__属性的值是“_ ...
- python的模块(module)和包(package)机制:import和from..import..
在python用import或者from...import来导入相应的模块. 模块其实就一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中 ...
- Python模块搜索路径
当一个名为 spam 的模块被导入的时候,解释器首先寻找具有该名称的内置模块.如果没有找到,然后解释器从 sys.path 变量给出的目录列表里寻找名为 spam.py 的文件.sys.path 初始 ...
- Python import搜索路径相关
import搜索路径 在当前目录下搜索该模块 在环境变量 PYTHONPATH 中指定的路径列表中依次搜索 在 Python 安装路径的 lib 库中搜索 查看当前的搜索路径 import sys p ...
随机推荐
- 获取CAD安装路径
bool GetAcadPath(CString &acadPath) { DWORD dwRet=:GetModuleFileName(acedGetAcadWinApp()->m_h ...
- idea中配置xml不自动提示解决方案
1.打开设置File-->Settings(或者Ctrl + Alt + S)--->Languages&Frameworks-->Schemas and DTDS 2.选择 ...
- Asp.Mvc 常用
url转义 var address = "http://www.cnblog.com"; var a22 = Uri.EscapeDataString(address); var ...
- 【解题报告】 Leapin' Lizards HDU 2732 网络流
[解题报告] Leapin' Lizards HDU 2732 网络流 题外话 在正式讲这个题目之前我想先说几件事 1. 如果大家要做网络流的题目,我在网上看到一个家伙,他那里列出了一堆网络流的题目, ...
- idea热更新配置
idea部署热启动如下,经过本人实验 在这里只能选择exploded因为它支持热部署 在这里选择如下 到这里已经完成热部署了,如果有问题欢迎反馈给我,我会及时回复
- Thesis Viva checklist
This list gives you suggestions helpful in preparing to defend your thesis: I know my thesis thoroug ...
- 手机版地图api
手机版地图api一: <iframe style="height:300px;" src="http://map.baidu.com/mobile/webapp/s ...
- linux学习2-压缩与解压
1.zip 打包文件件 $ zip -r -q -o shiyanlou.zip /home/shiyanlou $ du -h shiyanlou.zip $ file shiyanlou.zip ...
- Haybale Guessing
Haybale Guessing Time Limit: 1000MS Memory Limit: 65536K Description The cows, who always ha ...
- jQuery Validate Ajax 验证
jQuery Validate Ajax 验证 <script type="text/javascript"> $(function() { $('#formCityL ...