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‘
时间: 2024-10-07 23:21:50

Python之imp模块的相关文章

带你学python基础:模块和包

一.什么是模块 在我们平时的开发过程中,或多或少会用到 Python 的一些内置的功能,或者说,还会用到一些第三方的库,我们用到的这些 Python 的内置的功能,和一些第三方的库,就可以说是一些模块了. 例如,我们在读写文件的时候,我们就会用到文件操作的模块os. 是不是经常遇到呢?模块,来了! 其实,每一个 Python 脚本文件都可以被当成是一个模块. 模块以磁盘文件的形式存在.当一个模块变得过大,并且驱动了太多功能的话,就应该考虑拆一些代码出来另外建一个模块. 模块里的代码可以是一段直接

Python中标准模块importlib详解

Python中标准模块importlib详解 模块简介 Python提供了importlib包作为标准库的一部分.目的就是提供Python中import语句的实现(以及__import__函数).另外,importlib允许程序员创建他们自定义的对象,可用于引入过程(也称为importer). 什么是imp? 另外有一个叫做imp的模块,它提供给Python import语句机制的接口.这个模块在Python 3.4中被否决,目的就是为了只使用importlib. 这个模块有些复杂,因此我们在这

Python中subprocess 模块 创建并运行一个进程

python的subprocess模块,看到官方声明里说要尽力避免使用shell=True这个参数,于是测试了一下: from subprocess import call import shlex cmd = "cat test.txt; rm test.txt" call(cmd, shell=True) 运行之后: 1:打开并浏览了test.txt文件 2:删除了test.txt文件 from subprocess import call import shlex cmd = &

python时间处理模块 datetime time模块 deltetime模块

1 首先介绍time模块,因为简单 python 自带模块 本人使用time模块,只使用两个函数 time函数和sleep函数 import time a.     time.time()   函数 返回unix时间  常用作两个时间差的计算 b.     time.sleep()  休眠多久,精度为子秒(subsecond) In [90]: t1 = time.time() In [91]: t1 Out[91]: 1461400225.877932 In [92]: time.sleep(

python安装mysqldb模块

今天在阿里云一台新的服务器部署程序后台,发现上面的python缺少MySQLDB 模块,记录安装过程. 首先django程序,运行 python manage.py sycdb 报错: ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb MySQLdb模块的包名字叫mysql-python,于是pip安装之,(关于pip,可以参考这篇文章) 运行: pip install mysql-python

Python 利用pytesser模块识别图像文字

使用的是python的pytesser模块,原先想做的是图片中文识别,搞了一段时间了,在中文的识别上还是有很多问题,这里做记录分享. pytesser,OCR in Python using the Tesseract engine from Google.是谷歌OCR开源项目的一个模块,可将图片中的文字转换成文本(主要是英文). 1.pytesser安装 使用设备:win8 64位 PyTesser使用Tesseract OCR引擎,将图像转换到可接受的格式,然后执行tesseract提取出文

python学习--创建模块

昨天做了python客户端和服务器端通信,并把接收到的信息写到数据库,因为对数据库进行操作是个经常调用的行为,所以我想把调用数据库的操作写成一个module来给其它python程序调用,所以将昨天的服务器端程序拆分为两个文件: 1.主程序python.py #!/usr/bin/env python import socket import json import connmysql s = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0) h

Python中time模块详解

在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块. 在开始之前,首先要说明这几点: 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平台可能有所不同. UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间.在中国为UTC+8.DST

[ python编程 ] subprocess模块学习总结

转载:http://www.jb51.net/article/48086.htm 从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如 os.system.os.spawn*.os.popen*.popen2.*.commands.*不但可以调用外部的命令作为子进程,而且可以连接到子进程的input/output/error管道,获取相关的返回信息. 一.subprocess以及常用的封装函数    运行python的时候,我们都是在创建并