详解Python import方法引入模块的实例


Posted in Python onAugust 02, 2017

详解Python import方法引入模块的实例

在Python用import或者from…import或者from…import…as…来导入相应的模块,作用和使用方法与C语言的include头文件类似。其实就是引入某些成熟的函数库和成熟的方法,避免重复造轮子,提高开发速度。

python的import方法可以引入系统的模块,也可以引入我们自己写好的共用模块,这点和PHP非常相似,但是它们的具体细节还不是很一样。因为php是在引入的时候指明引入文件的具体路径,而python中不能够写文件路径进行引入。

下面总结一下import的几种情况:

python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。

下面将具体介绍几种常用情况:

(1)主程序与模块程序在同一目录下:

如下面程序结构:

-- src 
|-- mod1.py 
? test1.py

若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;

(2)主程序所在目录是模块所在目录的父(或祖辈)目录

如下面程序结构:

-- src 
|-- mod1.py 
|-- mod2 
|? mod2.py 
`? test1.py

若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件init.py文件(也可以在该文件中自定义输出模块接口); 然后使用 from mod2.mod2 import * 或import mod2.mod2.

(3)主程序导入上层目录中模块或其他目录(平级)下的模块

如下面程序结构:

-- src 
|-- mod1.py 
|-- mod2 
|? mod2.py 
|? sub 
| -- test2.py 
? test1.py

若在程序test2.py中导入模块mod1和mod2。首先需要在mod2下建立init.py文件(同(2)),src下不必建立该文件。然后调用方式如下:

下面程序执行方式均在程序文件所在目录下执行,如test2.py是在cd sub;之后执行python test2.py

而test1.py是在cd src;之后执行python test1.py; 不保证在src目录下执行python sub/test2.py成功。

import sys 
sys.path.append(“..”) 
import mod1 
import mod2.mod2

以上就是Python import方法引入模块的实例的详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
python使用chardet判断字符串编码的方法
Mar 13 Python
Python中IPYTHON入门实例
May 11 Python
基于PyQt4和PySide实现输入对话框效果
Feb 27 Python
tensorflow 获取所有variable或tensor的name示例
Jan 04 Python
Python描述符descriptor使用原理解析
Mar 21 Python
python 元组的使用方法
Jun 09 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
Jun 27 Python
15个Pythonic的代码示例(值得收藏)
Oct 29 Python
python基础之类方法和静态方法
Oct 24 Python
使用Python拟合函数曲线
Apr 14 Python
Python如何让字典保持有序排列
Apr 29 Python
python实现学生信息管理系统(面向对象)
Jun 05 Python
Python字符串拼接的几种方法整理
Aug 02 #Python
详解 Python 读写XML文件的实例
Aug 02 #Python
Python MD5加密实例详解
Aug 02 #Python
Python 获取当前所在目录的方法详解
Aug 02 #Python
浅谈python中的数字类型与处理工具
Aug 02 #Python
Python实现的快速排序算法详解
Aug 01 #Python
Python实现的弹球小游戏示例
Aug 01 #Python
You might like
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
php使用date和strtotime函数输出指定日期的方法
2014/11/14 PHP
linux中cd命令使用详解
2015/01/08 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
php实现数据库的增删改查
2017/02/26 PHP
JS延迟加载(setTimeout) JS最后加载
2010/07/15 Javascript
JS获取后台Cookies值的小例子
2013/03/04 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
2013/12/13 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
通过命令行生成vue项目框架的方法
2017/07/12 Javascript
JS函数内部属性之arguments和this实例解析
2018/10/07 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
vue+egg+jwt实现登录验证的示例代码
2019/05/18 Javascript
python3实现短网址和数字相互转换的方法
2015/04/28 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
对python字典元素的添加与修改方法详解
2018/07/06 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
2014年体育部工作总结
2014/11/13 职场文书
公司员工管理制度
2015/08/04 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技