Python中几种导入模块的方式总结


Posted in Python onApril 27, 2017

模块内部封装了很多实用的功能,有时在模块外部调用就需要将其导入。常见的方式有如下几种:

1 . import

>>> import sys
>>> sys.path
['', 'C:\\Python34\\Lib\\idlelib', 'C:\\Windows\\system32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages']

最常见的方式,直接将要导入的模块名称写在后面导入。

2 .from .. import ..

与import类似,只是更明确的要导入的方法或变量,比如:

>>> from sys import path
>>> path
['', 'C:\\Python34\\Lib\\idlelib', 'C:\\Windows\\system32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages']

但是会造成命名空间的污染,更推荐使用import。

3 . 用名称字符串导入模块

我们可能想这样导入模块:

>>> import "sys"
SyntaxError: invalid syntax

python import接收的是变量而不是字符串,那将”sys”赋值给一个变量呢?

>>> x="sys"
>>> import x
Traceback (most recent call last):
 File "<pyshell#4>", line 1, in <module>
  import x
ImportError: No module named 'x'

这样也不行,这样做的意思是导入名为x的模块而非x代表的sys模块。

我们需要用到exec函数:

>>> x="sys"
>>> exec("import "+ x)
>>> sys.path
['', 'C:\\Python34\\Lib\\idlelib', 'C:\\Windows\\system32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages']

将导入语句构建成字符串并传递给exec函数执行。

exec缺点是每次执行都要编译,运行多次会影响性能。

更好的方式是使用__import__ 函数。

>>> x="sys"
>>> sys = __import__(x)
>>> sys.path
['', 'C:\\Python34\\Lib\\idlelib', 'C:\\Windows\\system32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages']

这种方式需要一个变量保存模块对象,以便后续调用。

以上这篇Python中几种导入模块的方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python交互式图形编程实例(一)
Nov 17 Python
人脸识别经典算法一 特征脸方法(Eigenface)
Mar 13 Python
python使用tensorflow深度学习识别验证码
Apr 03 Python
opencv python 傅里叶变换的使用
Jul 21 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
python实现抖音点赞功能
Apr 07 Python
Python基于scipy实现信号滤波功能
May 08 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
python pandas利用fillna方法实现部分自动填充功能
Mar 16 Python
django form和field具体方法和属性说明
Jul 09 Python
Python 3.9的到来到底是意味着什么
Oct 14 Python
Qt自定义Plot实现曲线绘制的详细过程
Nov 02 Python
Python利用matplotlib生成图片背景及图例透明的效果
Apr 27 #Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 #Python
Python中生成Epoch的方法
Apr 26 #Python
python 网络编程详解及简单实例
Apr 25 #Python
python 全文检索引擎详解
Apr 25 #Python
window下eclipse安装python插件教程
Apr 24 #Python
Python处理PDF及生成多层PDF实例代码
Apr 24 #Python
You might like
php 远程图片保存到本地的函数类
2008/12/08 PHP
Php获取金书网的书名的实现代码
2010/06/11 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
Javascript改变CSS样式(局部和全局)
2013/12/18 Javascript
深入浅出理解javaScript原型链
2015/05/09 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
Node.js + express基本用法教程
2019/03/14 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
2020/08/27 Javascript
python 算法 排序实现快速排序
2012/06/05 Python
python中ConfigParse模块的用法
2014/09/29 Python
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
Django中reverse反转并且传递参数的方法
2019/08/06 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
HTML文本属性&amp;颜色控制属性的实现
2019/12/17 HTML / CSS
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
医院反腐倡廉演讲稿
2014/09/16 职场文书
关于倡议书的范文
2015/04/29 职场文书
结婚仪式主持词
2015/06/29 职场文书
少先队入队仪式主持词
2015/07/04 职场文书
物业公司管理制度
2015/08/05 职场文书
Html5通过数据流方式播放视频的实现
2021/04/27 HTML / CSS