Python 模块

Posted 张瑞东

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 模块相关的知识,希望对你有一定的参考价值。

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

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

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

模块分为三种:

  • 自定义模块
  • 内置模块
  • 开源模块
自定义模块
对于我们编写的以.py结尾的文件,我们都可以当做自定义模块来调用,调用之前需要先导入,然后即可使用模块中定义的功能。
 
 
导入模块
import 模块名
from 文件夹 import 模块名
from 文件夹 import 模块名 as 别名    #对导入的模块重命名在导入模块的时候,Python会根据路径去寻找,路径存储在sys.path中。
>>> import sys
>>> sys.path
[\'\', \'C:\\\\Windows\\\\system32\\\\python27.zip\', \'C:\\\\Python27\\\\DLLs\', \'C:\\\\Python27\\
\\lib\', \'C:\\\\Python27\\\\lib\\\\plat-win\', \'C:\\\\Python27\\\\lib\\\\lib-tk\', \'C:\\\\Python27
\', \'C:\\\\Python27\\\\lib\\\\site-packages\']
>>>

  第一个空格表示在当前文件夹中寻找,如果找不到依次按照列表的路径寻找。一般我们将第三方模块放置在C:\\\\Python27\\\\lib\\\\site-packages(Linux为/usr/lib/python2.7/site-packages/

如果sys.path路径列表没有你想要的路径,可以通过 sys.path.append(\'路径\') 添加。
通过os模块可以获取各种目录,例如:

import sys
import os
pre_path = os.path.abspath(\'../\')
sys.path.append(pre_path)
安装第三方库
下载安装有两种方式:
 1.   pip3 install requests
       yum
       apt-get
 
 2.   源码安装:下载源码,解压后切换到当前目录
    执行python setup.py install
下载源码
解压源码
进入目录
编译源码    python setup.py build
安装源码    python setup.py install
在下载安装源码的时候可能会用到gcc编译和Python开发环境,需要先执行:
yum install gcc
yum install python-devel
apt-get python-dev

Python内置模块

一、sys

提供和系统有关的操作命令
sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0)
sys.version        获取Python解释程序的版本信息
sys.maxint         最大的Int值
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform       返回操作系统平台名称
sys.stdout.write(\'please:\')
val = sys.stdin.readline()[:-1]

二、haslib

用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

import hashlib
 
# ######## md5 ########
 
hash = hashlib.md5()
hash.update(\'admin\')
print hash.hexdigest()
 
# ######## sha1 ########
 
hash = hashlib.sha1()
hash.update(\'admin\')
print hash.hexdigest()
 
# ######## sha256 ########
 
hash = hashlib.sha256()
hash.update(\'admin\')
print hash.hexdigest()
 
 
# ######## sha384 ########
 
hash = hashlib.sha384()
hash.update(\'admin\')
print hash.hexdigest()
 
# ######## sha512 ########
 
hash = hashlib.sha512()
hash.update(\'admin\')
print hash.hexdigest()

为了避免通过撞库来反解加密信息,我们可以加key值为加密信息加‘盐’

import hashlib
 
# ######## md5 ########
 
hash = hashlib.md5(\'898oaFs09f\') #括号内的内容相当于‘盐’
hash.update(\'admin\')
print hash.hexdigest()
 
 
还有一些内置模块之前写到过,可以转到其他博客看看

python 内置模块-re

Python 内置模块:os模块

python内置模块-json和pickle

python内置模块-random

Python内置模块-time && datatime

python 内置模块--collections

    
模块功能
__name__  只有在执行当前文件的时候,才等于__main__
__file__  #当前文件的路径
__doc__  #注释
__cache__  #pyc文件
 

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

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

python之模块和包

python中的模块

Python 常用模块学习

python之模块和包

Python 八Python模块