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字符串连接方式汇总
Aug 21 Python
python实现在无须过多援引的情况下创建字典的方法
Sep 25 Python
Python中List.index()方法的使用教程
May 20 Python
Python-嵌套列表list的全面解析
Jun 08 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
更改Python的pip install 默认安装依赖路径方法详解
Oct 27 Python
python中partial()基础用法说明
Dec 30 Python
python字典改变value值方法总结
Jun 21 Python
python实现超市管理系统(后台管理)
Oct 25 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
Dec 23 Python
使用 Python 遍历目录树的方法
Feb 29 Python
Python Unittest原理及基本使用方法
Nov 06 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
php4与php5的区别小结(配置异同)
2011/12/20 PHP
XAMPP安装与使用方法详细解析
2013/11/27 PHP
php 检查电子邮件函数(自写)
2014/01/16 PHP
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
2011/07/15 Javascript
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
jQuery通过Ajax返回JSON数据
2015/04/28 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
java判断三位数的实例讲解
2019/06/10 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
opencv3/C++ 平面对象识别&amp;透视变换方式
2019/12/11 Python
python如何使用jt400.jar包代码实例
2019/12/20 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
会展策划与管理专业大学生职业生涯规划
2014/02/07 职场文书
喝酒检查书范文
2014/02/23 职场文书
小学教师师德承诺书
2014/05/23 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书
nginx优化的六点方法
2021/03/31 Servers
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
volatile保证可见性及重排序方法
2022/08/05 Java/Android