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()

  

 作业

 

posted @ 2017-05-11 23:34  minseo  阅读(341)  评论(0编辑  收藏  举报