`
Ydoing
  • 浏览: 100773 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Python之imp模块

 
阅读更多

imp.get_suffixes()

返回3元组列表(suffix, mode, type), 获得特殊模块的描述.suffix为文件后缀名;mode为打开文件模式; type为文件类型, 1代表PY_SOURCE, 2代表PY_COMPILED, 3代表C_EXTENSION

>>> imp.get_suffixes()
[('.x86_64-linux-gnu.so', 'rb', 3), ('.so', 'rb', 3), ('module.so', 'rb', 3), ('.py', 'U', 1), ('.pyc', 'rb', 2)]

imp.find_module(name[, path])

  • 如果path为空,则按照sys.path路径搜索模块名, 返回三元组(file, pathname, description).file为刚打开的模块文件, pathname为模块的路径, description为imp.get_suffixes()返回的元组.
  • 如果模块为包,file返回None, pathname为包路径, description返回的type为PKG_DIRECTORY.
  • find_module不会处理层次结构的模块名(带’.’号的模块名module.name1.name2).
  • “path”必须是一个列表.
>>> print imp.find_module('os')
(<open file '/usr/lib/python2.7/os.py', mode 'U' at 0x7fdeebd53a50>, '/usr/lib/python2.7/os.py', ('.py', 'U', 1))

imp.load_module(name, file, pathname, description)

  • 加载一个被find_module找到的模块. 如果模块已经被加载, 等同于reload().
  • 当模块是包或者不从文件加载时, file和pathname可以是None和”.
  • 成功加载后返回一个模块对象,否则抛出 ImportError异常.
  • 需要自己关闭file,最好用try…finally…

实例

>>> file, pathname, desc = imp.find_module('os')
>>> myos = imp.load_module('sep', file, pathname, desc)
>>> myos
<module 'sep' from '/usr/lib/python2.7/os.pyc'>
>>> myos.getcwd()
'/home/ydoing/github/autorunner'
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    python模块详解

    python模块详解 各个模块的详解 核心模块 1.1. 介绍 1.2. _ _builtin_ _ 模块 1.3. exceptions 模块 1.4. os 模块 1.5. os.path 模块 1.6. stat 模块 1.7. string 模块 1.8. re 模块 1.9. math 模块 1.10....

    python根据路径导入模块的方法

    本文实例讲述了python根据路径导入模块的方法,分享给大家供大家参考。具体方法如下: 常规做法如下: import sys sys.path.append('C:/full/path') from foo import util,bar 而要直接通过路径 import imp util...

    Python importlib模块重载使用方法详解

    另外有一个叫做imp的模块,它提供给Python import语句机制的接口。这个模块在Python 3.4中被否决,目的就是为了只使用importlib。 了解:模块的重载 考虑到性能的原因,每个模块只被导入一次,放入字典sys.module中...

    Python如何重新加载模块

    使用imp.reload()来重新加载先前加载的模块。举个例子: &gt;&gt;&gt; import spam &gt;&gt;&gt; import imp &gt;&gt;&gt; imp.reload(spam) &gt;&gt;&gt; 讨论 重新加载模块在开发和调试过程中常常很有用。但在生产环境中的代码使用会不安全,因为它并...

    Python动态加载模块的3种方法

    2、使用imp 模块 复制代码 代码如下: import imp stringmodule = imp.load_module(‘string’,*imp.find_module(‘string’)) 3、使用exec 复制代码 代码如下: import_string = “import string as stringmodule” ...

    Python中标准模块importlib详解

    另外有一个叫做imp的模块,它提供给Python import语句机制的接口。这个模块在Python 3.4中被否决,目的就是为了只使用importlib。 这个模块有些复杂,因此我们在这篇博文中主要讨论以下几个主题: •动态引入 •...

    Python基于network模块制作电影人物关系图

    network模块是一个用python语言开发的图论和复杂网络建模工具,模块内置了常用的图与复杂网络分析算法。 network模块有四种图:Graph、DiGraph、MultiGraph、MultiDigraph,分别为无多重边无向图、无多重边有向图、有...

    Python实现动态加载模块、类、函数的方法分析

    本文实例讲述了Python实现动态加载模块、类、函数的方法。分享给大家供大家参考,具体如下: 动态加载模块: 方式1:系统函数__import__() 方式2:imp, importlib 模块 方式3:exec 函数 动态加载类和函数 首先...

    Python学习笔记(一).pdf

    Python学习笔记(⼀) 学习笔记(⼀) 之前没有养成习惯,以后学习Python会在这⾥做好记录。 本节只记录学习过程中的⾃认为的关键...Python 的标准库提供了⼀个 keyword 模块,可以输出当前版本的所有关键字: &gt;&gt;&gt; imp

    python动态加载包的方法小结

    本文实例总结了python动态加载包的方法。分享给大家供大家参考,具体如下: 动态加载模块有三种方法 1. 使用系统函数__import_() stringmodule = __import__('string') 2. 使用imp 模块 import imp stringmodule ...

    Godot Python,因为您想要Python在Godot上!-Python开发

    该项目的目标是提供Python语言支持,作为Godot游戏引擎的脚本模块。 Godot Python,因为您想要Python在Godot上! 该项目的目标是提供Python语言支持,作为Godot游戏引擎的脚本模块。 快速入门按照简单的顺序:使用...

    Python中shutil模块的学习笔记教程

    介绍 shutil 名字来源于 shell utilities,有学习或了解过Linux的人应该都对 shell 不陌生,可以借此来记忆模块的名称。该模块拥有许多文件(夹)操作的功能,包括复制、移动、重命名、删除等等 ... &gt;&gt; imp

    python基础3day03.txt

    # imp.reload(已加载模块名) .pyc 是 .py的编译文件 模块的内建属性 __doc__ __name__ # 主要用来判断当前模块是否是主模块 __file__ 模块的文档字符串 模块的 __all__列表 from xxx import * 模块的...

    python-bytecode:Python字节码编译器和字节码生成器

    Python字节码编译器 这个应用程式提供将Python档案转换成其.pyc档案的功能。 Python .pyc文件是已编译的Python文件,已编译为字节码。 如果您想知道为什么Python有时会生成这些文件... 您可以通过imp模块获取此号码:

    imp-client:IMP客户端

    小客户 IMP客户端 退房 运行以下命令: git clone ... 如果 Twisted 的安装由于缺少模块而出现问题,请先安装它们,或从以下http://www.lfd.uci.edu/~gohlke/pythonlibs/获取它们: http://www.lfd

    使用Python对Excel进行读写操作

    学习Python的过程中,我们会遇到Excel的读写问题。这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Excel中读取数据。下面我们介绍如何实现使用Python对Excel进行读写操作。...imp

    python中reload(module)的用法示例详解

    Python2 中可以直接使用reload(module)重载模块。 Pyhton3中需要使用如下方式: (1) &gt;&gt;&gt; from imp &gt;&gt;&gt; imp.reload(module) (2) &gt;&gt;&gt; from imp import reload &gt;&gt;&gt; reload(module) 2、Python3中使用import和...

    autoimp:自动Python导入

    自动导入自动Python导入概述autoimp模块会在Python交互式提示符下自动导入所有可用的Python模块,类似于Matlab: &gt;&gt;&gt; from autoimp import *&gt;&gt;&gt; os.stat('.')&gt;&gt;&gt; numpy.zeros(5)&gt;&gt;&gt; np.zeros(5) # 'np' is an alias ...

    基于python实现的linux后台日志监控小项目+源代码+文档说明

    设计需求:一到周末,公司总是会让我们人肉监控服务器状态(因为技术还没到互联网层公司的技术,没有自动化---例如工具Ansible之类的,ε=(´ο`*)))唉) 所以,我觉得这种东西如果可以实现一个远程自动化的监控工具是...

    CodeSkulptor-Mini-Projects:此存储库包含所有 Codeskulptor 迷你项目 Python 文件

    CodeSkulptor-迷你项目该... 我推荐在 Codeskulptor 中运行 python 代码的原因是大多数给定的文件都需要 simplegui 模块。 要在您的桌面上安装它,请使用 pip install : pip install SimpleGUICS2Pygame 或访问以下

Global site tag (gtag.js) - Google Analytics