python 模块导入

Posted zt0903

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 http://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 http://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检查是否安装成功

 

 

以上是关于python 模块导入的主要内容,如果未能解决你的问题,请参考以下文章

有条件地导入 python 类的片段

python中的模块

python之模块和包

Python如何调用别人写好的脚本

python 模块导入和使用

Python之模块及包的导入