Chinaunix首页 | 论坛 | 博客
  • 博客访问: 589714
  • 博文数量: 226
  • 博客积分: 10080
  • 博客等级: 上将
  • 技术积分: 1725
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-26 11:15
文章分类

全部博文(226)

文章存档

2011年(5)

2010年(64)

2009年(99)

2008年(37)

2007年(21)

我的朋友

分类: LINUX

2010-02-27 10:57:20

模块导入和汇编

到现在为止,本章介绍的模块都是包含Python源代码的文本文件. 不过模块不限于此,可以被 import 语句导入的模块共有以下四类:

  • 使用Python写的程序( .py文件)
  • C或C++扩展(已编译为共享库或DLL文件)
  • 包(包含多个模块)
  • 内建模块(使用C编写并已链接到Python解释器内)

当查询模块 foo 时,解释器按照 sys.path 列表中目录顺序来查找以下文件(目录也是文件的一种):

  1. 定义为一个包的目录 foo
  2. foo.so, foomodule.so, foomodule.sl,或 foomodule.dll (已编译扩展)
  3. foo.pyo (只在使用 -O 或 -OO 选项时)
  4. foo.pyc
  5. foo.py

后面马上介绍包

已编译扩展在附录B:"Extending and Embedding Python."中有详细描述.

对于.py文件,当一个模块第一次被导入时,它就被汇编为字节代码,并将字节码写入一个同名的 .pyc文件.后来的导入操作会直接读取.pyc文件而不是.py文件.(除非.py文件的修改日期更新,这种情况会重新生成.pyc文件) 在解释器使用 -O 选项时,扩展名为.pyo的同名文件被使用. pyo文件的内容虽去掉

阅读(637) | 评论(0) | 转发(0) |
0

上一篇:分享两个VIM按键映射

下一篇:Meteor介绍

给主人留下些什么吧!~~