zoukankan      html  css  js  c++  java
  • python 模块导入

    什么是模块?

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

       一般模块分为: 

    • 自定义模块
    • 内置模块
    • 开源模块

    为何要使用模块?

       如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python test.py方式去执行,此时test.py被称为脚本script。

        随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理。这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用,

    模块的导入

    模块的四种导入形式:

    import module

    from  module.** import **

    from module.** import *** as **

    from module.** import *

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

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

    导入模块时是根据那个路径作为基准来进行的呢?即:sys.path

    import sys
    print(sys.path)

    ['D:\python_study\python_text\模块\模块导入', 'D:\python_study', 'D:\python_study\venv\Scripts\python37.zip', 'D:\python\python3.7\DLLs', 'D:\python\python3.7\lib', 'D:\python\python3.7', 'D:\python_study\venv', 'D:\python_study\venv\lib\site-packages', 'D:\python_study\venv\lib\site-packages\setuptools-39.1.0-py3.7.egg', 'D:\python_study\venv\lib\site-packages\pip-10.0.1-py3.7.egg', 'D:\pycharm\helpers\pycharm_matplotlib_backend', 'D:\python_study\python_text\模块\模块导入']

    sys.path是一个列表,当你导入一个模块后,会默认从列表中的路径去依次查找,如果你要导入的模块的路径不在列表中,可以使用,sys.path.add()去添加

    import sys, os
    sys.path.append(os.path.dirname(__file__))      # 这里是现在正在使用的文件的目录的路径加入到环境变量中了

    当然,我们开发的程序不可能只在本地使用,那么当你的程序发布到网上,别人下载使用时,怎么能确定导入的自定义模块的路径还能是正确的呢,这里我们就要用到绝对路径了

    import sys, os
    sys.path.add(os.path.dirname(os.path.abspath(__file__))      # 这里是现在正在使用的文件的目录的绝对路径加入到环境变量中了

    开源模块

    一、下载安装

    下载安装有两种方式:

    yum 
    pip
    apt-get
    ...
    下载源码
    解压源码
    进入目录
    编译源码    python setup.py build
    安装源码    python setup.py install

    二、导入模块

    同自定义模块中导入的方式

    三、模块 paramiko

    paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实

    pip3 install paramiko

    linux 下
    #
    pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto # 下载安装 pycrypto wget https://files.cnblogs.com/files/wupeiqi/pycrypto-2.6.1.tar.gz tar -xvf pycrypto-2.6.1.tar.gz cd pycrypto-2.6.1 python setup.py build python setup.py install # 进入python环境,导入Crypto检查是否安装成功 # 下载安装 paramiko wget https://files.cnblogs.com/files/wupeiqi/paramiko-1.10.1.tar.gz tar -xvf paramiko-1.10.1.tar.gz cd paramiko-1.10.1 python setup.py build python setup.py install # 进入python环境,导入paramiko检查是否安装成功
  • 相关阅读:
    复习时间
    核反应堆
    假期编程
    剪花布条
    Atcoder Regular Contest 072 C Alice in linear land(思维题)
    xss攻击入门
    转发 DDoS攻防战 (一) : 概述
    XSS跨站脚本攻击
    sql注入
    关于阿里云图片识别接口的demo
  • 原文地址:https://www.cnblogs.com/zt0903/p/10686861.html
Copyright © 2011-2022 走看看