详解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 dict remove数组删除(del,pop)
Mar 24 Python
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
Jul 09 Python
自己编程中遇到的Python错误和解决方法汇总整理
Jun 03 Python
Python中enumerate函数代码解析
Oct 31 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
Jan 09 Python
浅析PHP与Python进行数据交互
May 15 Python
Flask框架工厂函数用法实例分析
May 25 Python
django-rest-framework 自定义swagger过程详解
Jul 18 Python
django基础学习之send_mail功能
Aug 07 Python
python爬虫之爬取百度音乐的实现方法
Aug 24 Python
TensorFLow 变量命名空间实例
Feb 11 Python
深入了解python列表(LIST)
Jun 08 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
PHP的中问验证码
2006/11/25 PHP
php出现Cannot modify header information问题的解决方法大全
2008/04/09 PHP
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
firefo xml 读写实现js代码
2009/06/11 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
一个简单的JavaScript Map实例(分享)
2016/08/03 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
微信小程序收藏功能的实现代码
2018/06/12 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
python实现调用其他python脚本的方法
2014/10/05 Python
利用python实现命令行有道词典的方法示例
2017/01/31 Python
Python如何快速实现分布式任务
2017/07/06 Python
Tornado 多进程实现分析详解
2018/01/12 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
Python3几个常见问题的处理方法
2019/02/26 Python
简单了解python元组tuple相关原理
2019/12/02 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
实习评语
2013/12/16 职场文书
就业自我评价
2014/02/04 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
图书借阅制度范本
2015/08/06 职场文书