Python中几种导入模块的方式总结
模块内部封装了很多实用的功能,有时在模块外部调用就需要将其导入。常见的方式有如下几种:
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中index()和seek()的用法(详解)
1、index()一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如:t=tuple('Allen')t('A','l','l','e','n')t.index('a')Traceback(mostrecentcalllast):F
Python中创建字典的几种方法总结(推荐)
1、传统的文字表达式:d={'name':'Allen','age':21,'gender':'male'}d{'age':21,'name':'Allen','gender':'male'}如果你可以事先拼出整个字典,这种方式是很方便的。2、动态
详解Python 2.6 升级至 Python 2.7 的实践心得
前言CentOS6.8安装Python2.7.13,因为软件版本上的需求所以考虑将Python升级至2.7.13,加上生产环境还是以RHEL6为主,互联网自动化运维平台大多数也推荐以Pyt
标签:模块,方式,变量,字符串,函数