Python学习笔记15

模块—文件。

搜索路径: 搜索路径是一个目录列表,在这些目录中搜索想要加载的模块。

            PYTHONPATH环境变量:冒号分割的目录路径。

            sys模块的sys.path变量:是一个Python的列表变量,可以append(‘new_path’).

              sys.modules变量:是一个字典,包含了已加载模块的信息。

路径搜索: 在搜索路径中查找要加载模块的行为。

命名空间和变量查找: 变量由命名空间唯一标识。

模块加载后模块包含的对象由以模块名为命名空间的标识唯一指定。导入模块语句:

importmodule1[, module2[,... moduleN]]         

importmodule1 as newname

你可以在你的模块里导入指定的模块属性。 也就是把指定名称导入到当前作用域。 使用

from-import 语句可以实现我们的目的, 它的语法是:  

from module import name1[,name2[,... nameN]]

这样在使用模块中的对象是不需要再用模块名限定。

from module1 import obj1 asnewname

包:可以用目录结构管理模块,每个包就是一个目录,包名字就是目录名。同一目录下的模块属于同一个包,包可以有子包,即子目录。使用的时候用目录路径标识所引用对象。可以一次导入摸个包/子包下所有的模块和子包。

import package.subpachage.*

加载:

当模块被导入时,他的直接代码会被运行。直接代码是指没有被函数封装的第一级代码。当多次导入一个模块时,只做一次加载操作。

源代码编码:
因为导入模块时是导入了源代码,因为不同的模块可能使用了不同的代码编码。 所以在模块的源代码头部需要指明所使用的编码方式。默认是ASCII编码。例:

一个UTF-8 编码的文件可以这样指示:

#!/usr/bin/env python

# -*- coding: UTF-8 -*-

模块管理相关模块

imp - 这个模块提供了一些底层的导入者功能。

modulefinder - 该模块允许你查找 Python 脚本所使用的所有模块。你可以使用其中的

ModuleFinder 类或是把它作为一个脚本执行, 提供你要分析的(另个) Python 模块的文件

名。

pkgutil - 该模块提供了多种把 Python 包打包为一个"包"文件分发的方法。 类似 site

模块,它使用*.pkg 文件帮助定义包的路径, 类似site 模块使用的*.pth 文件。

site - 和 *.pth 文件配合使用, 指定包加入 Python 路径的顺序, 例如 sys.path ,

PYTHONPATH 。你不需要显式地导入它, 因为 Python 导入时默认已经使用该模块。你可能

需要使用-S 开关在Python 启动时关闭它。你也可以完成一些 site 相关的自定义操作,

例如在路径导入完成后在另个地方尝试。

zipimport - 你可以使用该模块导入 ZIP 归档文件中的模块。 需要注意的是该功能已经"

自动"开启, 所以你不需要在任何应用中使用它。在这里我们提出它只是作为参考。

distutils - 该模块提供了对建立、 安装、分发 Python 模块和包的支持。 它还可以帮助

建立使用 C/C++ 完成的 Python 扩展。

猜你喜欢

转载自blog.csdn.net/z54572/article/details/62043730