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 gccyum install python-devel或apt-get python-devPython内置模块
一、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文件

浙公网安备 33010602011771号