一周目,十日学习
2021/8/30 6:06:21
本文主要是介绍一周目,十日学习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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)
这篇关于一周目,十日学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API
- 2025-01-102025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
- 2025-01-10高效运营背后的支柱:文档管理优化指南
- 2025-01-10年末压力山大?试试优化你的文档管理
- 2025-01-10跨部门协作中的进度追踪重要性解析
- 2025-01-10总结 JavaScript 中的变体函数调用方式
- 2025-01-10HR团队如何通过数据驱动提升管理效率?6个策略
- 2025-01-10WBS实战指南:如何一步步构建高效项目管理框架?