模块,用一砣代码实现了某个功能的代码集合。 

类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。

如:os 是系统相关的模块;file是文件操作相关的模块

模块分为三种:

  • 自定义模块

  • 内置模块

  • 开源模块


一、自定义模块

    1. 自定义模块:在python编辑器中定义好函数后,将函数保存在python编辑器的 lib目录下 以 .py 结尾的文件或者新建模块文件。

    方法一

    python自定义模块和开源模块使用方法_python

    python自定义模块和开源模块使用方法_os_02

    方法二

     python自定义模块和开源模块使用方法_import_03

     python自定义模块和开源模块使用方法_python_04


    2. 导入模块

        Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用,如果想要使用模块,则需要导入。导入模块有以下几种方法:

        1)  sys 标准库中模块

        import sys

        print sys.version               # 查看编辑器的版本信息;

        print sys.executable            # 查看编辑器的执行目录;

        print sys.getwindowsversion()   # 获取win 系统信息;

        print sys.modules.keys()        # 查看已经导入的模块;


        2)  from ... import‘模块'或‘*’

        from  ... import  模块            # 可以一次导入一个方法;

        from  ... import   *              # 可以一次导入所有方法;

        from  ... import name as rename   # 导入的模块取别名;


    导入模块其实就是告诉Python解释器去解释那个py文件


    • 导入一个py文件,解释器解释该py文件

    • 导入一个包,解释器解释该包下的 __init__.py 文件

   

    默认搜寻模块的地址:

        >>> import sys

        >>> sys.path

        ['', '/usr/local/lib/python35.zip', '/usr/local/lib/python3.5',                        '/usr/local/lib/python3.5/plat-linux', '/usr/local/lib/python3.5/lib-dynload',         '/usr/local/lib/python3.5/site-packages']

    如果sys.path路径列表没有你想要的路径,可以通过 sys.path.append('路径') 添加。

       通过os模块可以获取各种目录,例如:

             import sys

        import os

        pre_path = os.path.abspath('../')

        sys.path.append(pre_path)



二、 开源模块

    1.下载安装 -- 有两种方式

        

         方法一           方法二
yum ...下载源码
pip ...解压源码
apt-get ...进入目录

编译源码    python setup.py build

安装源码    python setup.py install

注:在使用源码安装时,需要使用到gcc编译和python开发环境,所以,需要先执行:

            yum install gcc   yum install python-devel

            或 apt-get  python-dev

            安装成功后,模块会自动安装到 sys.path 中的某个目录中。