Python之模块
模块是实现某一个功能所有代码的集合
模块有两种存在方式
1,.py文件
2,文件夹
Python有两种模块,一种是内置的模块,一种是用户定义的模块4
导入内置模块
import sys
导入模块的某一个模块
from sys import argv
系统默认寻找模块的位置
sys.path
如果导入的是一个文件夹必须要有一个文件
__init__.py
一般情况这是一个内容为空的文件
内置模块
一,os
用于提供系统级别的操作
os.getcwd() 获取当前的工作目录
os.chdir('dirname') 改变工作目录
os.curdir() 获取当前目录
os.pardir()获取当前目录的父目录字符串名
os.mkdir('dirname')生成当前目录
os.rename() 重命名
os.system('ls') 执行命令
.
.
等等
二,sys
用于提供对解释器相关的操作
sys.argv 命令行参数
sys.exit(n) 退出程序
sys.version 解释器的版本
sys.maxint 最大Int值
sys.path 返回模块的搜索路径
sys.paltform 获取操作系统平台
使用模块获取配置文件关键字信息
vim day5-12.py
#!/usr/bin/python # -*- coding:utf-8 -*- import ConfigParser config = ConfigParser.ConfigParser() config.read('i.cfg') # #############读取############# secs = config.sections() print secs
vim i.cfg
[section1] k1 = 123 k2 = alex [section2] name = eric age = 18
执行结果
vim day5-12.day
#!/usr/bin/python # -*- coding:utf-8 -*- import ConfigParser config = ConfigParser.ConfigParser() config.read('i.cfg') # #############读取############# secs = config.sections() print secs options = config.options('section1') print options
获取key
#!/usr/bin/python # -*- coding:utf-8 -*- import ConfigParser config = ConfigParser.ConfigParser() config.read('i.cfg') # #############读取############# secs = config.sections() print secs options = config.options('section1') print options items_list = config.items('section1') print items_list
获取到key和values
val = config.get('section1','k1')
print val
直接拿到val
PS:这里拿到的是字符串
sec = config.has_section('liuyueming')
sec = config.add_section('liuyueming')
config.write(open('i.cfg'),"w"))
查看有没有 添加 然后写入文件
加密模块
vim day5-13.py
#!/usr/bin/python # -*- coding:utf-8 -*- import md5 hash = md5.new() hash.update('admin') print hash.hexdigest()
PS:md5在下一个版本已经废弃了
新版本全部使用了hashlib了
#!/usr/bin/python # -*- coding:utf-8 -*- import md5 hash = md5.new() hash.update('admin') print hash.hexdigest() import hashlib hash = hashlib.md5() hash.update('admin') print hash.hexdigest() hash = hashlib.sha256() hash.update('admin') print hash.hexdigest() hash = hashlib.sha384() hash.update('admin') print hash.hexdigest()
PS:MD5等加密是不可逆的,但是可以通过撞库反解可以通过定义一个key生成的md5就几乎无法反解了
import hashlib hash = hashlib.md5('liuyueming') hash.update('admin') print hash.hexdigest()
python还有一个很hmac模块,内部对创建的key和内容进行在处理
vim day5-14.py
import hmac h = hmac.new('liuyueming') h.update('hellowo') print h.hexdigest()
作业