os文件操作模块
删除与创造
方法 mkdir 创建单级文件夹目录
方法 mkdirs 创造多级文件夹目录
方法 redir 删除单级文件夹空目录
方法 removedirs 可以删除多级空目录
查看
方法 listdir 查看指定路径下所有的文件夹及文件
方法 getcwd 查看当前所在的路径
方法 chdir 切换当前操作的路径
判断
方法 path,isdir 判断是否是文件夹
方法 path.isfile 判断是否是文件
方法 path.exists 判断当前路径是否存在
路径拼接
方法 join 路径拼接在不同的操作系统中的符号各不相同,windows为 \ mac为 / ,对此可以用join来进行路径拼接,针对不同的操作系统切换分隔符
文件大小
方法 getsize 显示字节数
hashlib加密模块
加密模块:
将明文数据按照一定的逻辑变成密文数据,一般情况下密文都是由数字字母随机组合而成
加密算法:
将明文数据按照一定的逻辑,不同算法的逻辑各不相同
加密分三步走,分别是选择加密算法、输入加密数据以及获取加密后密文
选择加密算法: 加密算法=hashlib.加密算法() 如:md5=hashlib.md5()
输入加密数据: 加密算法.update(b'加密数据')数据必须是二进制类型 如: md5.update(b'helllo')
获取加密后秘文: 变量名=加密算法.hexdigest() 如 res=md5.hexdigest()
加密进阶
加盐处理以及动态加盐 md5.update('自己定制的盐'.encode('utf8'))或md5.update('不固定 随机改变'.encode('utf8')) 此处以md5加密为列
random随机数模块
方法 random.random() 随机返回0到1之间的小数
方法 random.randint() 返回指定区间内的整数,包含首尾
方法 random.choices() 随机抽取一个,返回的是一个列表
方法 random.choice() 随机抽取一个数,返回的是一个元素
方法 random.sample() 随机抽样 如print(random.sample([111, 222, 333, 444, 555, 666, 777], 2))前者是待抽的样品,抽样的个数
方法 random.shuffle() 随机打乱元素,括号内为需要发乱的元素列表
random运用:随机验证码
logging日记模块
方法 debug 调试信息
方法 info 正常信息
方法 warning 警告
方法 error 出错
方法 critical 警报
日记文件案列
import logging file_handler = logging.FileHandler(filename='x1.log', mode='a', encoding='utf-8',) logging.basicConfig( format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S %p', handlers=[file_handler,], level=logging.ERROR ) logging.error('你好')View Code
日记切割
import time import logging from logging import handlers sh = logging.StreamHandler() rh = handlers.RotatingFileHandler('myapp.log', maxBytes=1024,backupCount=5) fh = handlers.TimedRotatingFileHandler(filename='x2.log', when='s', interval=5, encoding='utf-8') logging.basicConfig( format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S %p', handlers=[fh,sh,rh], level=logging.ERROR ) for i in range(1,100000): time.sleep(1) logging.error('KeyboardInterrupt error %s'%str(i))View Code
json数据格式转换传输模块
数据格式转换:可以将其他数据类型转换为字符串,也可以将字符串转化为其他类型,即序列化与反序列化
序列化操作:将其他数据类型转换为字符串
方法 dumps 数据序列化操作 数据格式的结果为字符串形式,双引号为json格式标志 如 变量名=json.dumps(待序列化数据) res = json.dumps(d)
方法 dump 文件序列化 如读取文件为f:with open(r'a.txt','w',encoding='utf8') as f: 将文件转换为json格式:json.dump(d,f)
反序列化:将数据类型转换为对应的数据类型
方法 loads 数据反序列化操作 如: 变量名=json.loads(反序列化数据) res1 = json.loads(res)
方法 load 文件反序列化操作 读取文件为f: with open(r'a.txt','r',encoding='utf8') as f: 将文件反序列化:res = json.load(f)