这节记录一些内置模块的使用

目录

hashlib模块,,加密用

json模块

os模块

一个实用的案例:

os模块的找文件的操作

随机生成random模块

时间相关模块

time,datetime


hashlib模块,,加密用

以md5加密示例:

import hashlib
#对数据加密data="你好啊世界"
obj=hashlib.md5() #生成加密对象
obj.update(data.encode('utf-8'))  #加密
res=obj.hexdigest()  #返回结果
print(f'加密后为:{res}')

小案例:

用户输入用户名,密码,,加密之后保存在文件里

类似于注册功能


#内置模块,hashlib
#md5加密import hashlib
#对数据加密def ens(data):obj = hashlib.md5()  # 生成加密对象obj.update(data.encode('utf-8'))  # 加密res = obj.hexdigest()  # 返回结果return res#print(f'加密后为:{res}')def run():user=input("请输入用户名:")password=input("请输入密码:")newpassword=ens(password)#做个格式化line="{}->{}\n".format(user,newpassword)#写到文件fd=open("tt.txt",mode="a",encoding='utf-8')fd.write(line)fd.close()if __name__=='__main__':run()

那对于登录怎么办呢?

用户输入用户名,密码,,都是明文,

函数对密码进行加密,完了读取保存的文件,进行加密之后的密文对比就行

就是对run函数稍微修改一下就行:

import hashlib
#对数据加密def ens(data):obj = hashlib.md5()  # 生成加密对象obj.update(data.encode('utf-8'))  # 加密res = obj.hexdigest()  # 返回结果return res#print(f'加密后为:{res}')def run():user=input("请输入用户名:")password=input("请输入密码:")newpassword=ens(password)fd=open("tt.txt",mode="r",encoding="utf-8")some=fd.read()fd.close()#先split 以\n分片,在strip去除空格 \ndata_list=some.strip().split('\n')for item in data_list:name,word=item.split('->') #[用户名,密码]if name==user and word==newpassword:print("登录成功")breakelse:print("失败")breakif __name__=='__main__':run()

md5加密加盐,更保险哦~

json模块

1、dumps:把字典转成json字符串

2、loads:把json字符串转成字典

import jsontest_dict = {'a':1, 'b':2}#把字典转成json字符串
json_text = json.dumps(test_dict)
print(type(json_text))
print(json_text)#把json字符串转成字典
json_dict = json.loads(json_text)
print(type(json_dict))
print(json_dict)

python里的json模块只能序列化下面这些格式,,别的对象想要json,就需要做转换

os模块

获取绝对路径 ,abspath,,没有会自动创建

路径拼接:join

判断文件/文件夹存在否:exists

创建文件夹:makedirs

#获取文件项目的绝对路径
v=os.path.abspath("tst.py")
print(v)#路径的拼接
#只是做路径拼接,,不管你文件在不在
file_txt=os.path.join("file","ff.txt")
print(file_txt)#文件或文件夹是否存在
file_txt=os.path.join("file","ff.txt")file1_txt=os.path.join("Test","tt.txt")v1=os.path.exists(file_txt)
v2=os.path.exists(file1_txt)print(v1)
print(v2)#创建文件夹os.makedirs(file_txt)

一个实用的案例:

创建以用户名命名的文件,里面写入用户密码

import osdef run():user=input("输入用户名:")pws=input("输入密码:")#创建db目录folder_path=os.path.abspath("db")if not os.path.exists(folder_path):os.makedirs(folder_path)#在db目录下写内容file_path=os.path.join(folder_path,"{}.txt".format(user))fd=open(file_path,mode='w',encoding='utf-8')fd.write(pws)fd.close()if __name__=='__main__':run()

os模块的找文件的操作

查看路径下所有文件:os.listdir(),返回一个列表对象,只能找一级,里面如果有文件夹,也能找到文件夹,但是找的的这个文件夹里面的下级文件就找不到了


ij=os.listdir(os.path.abspath('E:\python_code\Test'))print(ij)

os.walk  能全找出来,,意思就是会进到下级文件夹找文件,所以后面能用for循环遍历找

ipj=os.walk(os.path.abspath('E:\python_code\Test'))for ins,b,ons in ipj:for name in ons:file_tmp=os.path.join(ins,name)print(file_tmp)

随机生成random模块

random.randint随机生成数字

vs=random.randint(1000,9999)
print(vs) #1000-9999

随机获取任意一个东西,什么都能获取,,数字,字符串,函数啥的都可以

random.choice

dis=[45,12,3,37,59]
pl=random.choice(dis)
print(pl)

random.shuffle 打乱数据用的,,

dis=[1,2,3,4,5]random.shuffle(dis)
print(dis)

random.sample
random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。 如果k大于sequence元素个数的话会报错。

可以用于字典,可以充当随机取一个的作用

disp={'sa':"sap",45:"as82",'pls':45111}
pl=random.sample(disp.keys(),1)
print(pl)

时间相关模块

time,datetime

time一般用在时间戳这块

v1=time.time()#获取时间戳
print(v1)

time.sleep() 睡眠

datetime获取当前时间

#获取本地当前时间
vs=datetime.datetime.now()
print(vs)

datetime方便时间的加减

datetime返回的是一个对象

vs2=vs+datetime.timedelta(days=7,hours..)
print(vs2)

Python心经(4)相关推荐

  1. Python心经(6)

    目录 callable super type()获取对应类型 isinstance判断对象是否是某个类或者子类的实例 issubclass,判断对象是不是类的子孙类 python3的异常处理 反射: ...

  2. Python心经(2)

    有关数字类型,字符串,函数 目录 有关数字类型,字符串,函数 数字 字符串 索引操作 切片操作 单个字符编码 运算符 还有一些常用的内置函数 Python输入函数 输出函数print()语法 pyth ...

  3. Python心经(5)

    目录 python对于类和实例,,都能随时动态绑定 属性或者函数 可以通过__slots__去限定实例所能绑定属性的范围 python里面类很多定制函数__xx__ 下面给个python里面枚举类型 ...

  4. Python心经(1)

    因为工作要用python写一些脚本,所以自己就开始学习了一下. 这个系列不知道能更多少,看我学的深浅吧.总之先过一下语法,记录一下学习的时候敲的demo 代码测试的话我用vscode+python解释 ...

  5. Python心经(3)

    这一节总结点demo和常用知识点 目录 有关字符串格式化打印的 lambda匿名函数,,将匿名函数作为参数传入 文件读写 生成器 python的装饰器 简单的网站代码: 有关三元运算 推导式: 新浪面 ...

  6. 语音控制 python_用Python编程实现语音控制电脑

    电脑面前的你,是否也希望能让电脑听命于你? 当你累的时候,只需说一声"我累了",电脑就会放着优雅的轻音乐来让你放松. 或许你希望你在百忙之中,能让电脑郎读最新的NBA比分赛况-.一 ...

  7. python性能测试方法_Python实现测试磁盘性能的方法

    本文实例讲述了Python实现测试磁盘性能的方法.分享给大家供大家参考.具体如下: 该代码做了如下工作: create 300000 files (512B to 1536B) with data f ...

  8. python中的集合类型_Python中的集合类型知识讲解

    >>> s.add('z') >>> s set(['c', 'e', 'h', 'o', 'p', 's', 'z']) >>> s.updat ...

  9. python列表常用操作_Python列表(list)常用操作方法小结

    常见列表对象操作方法: list.append(x) 把一个元素添加到链表的结尾,相当于 a[len(a):] = [x] . list.extend(L) 将一个给定列表中的所有元素都添加到另一个列 ...

最新文章

  1. Sphinx武林秘籍(上)
  2. Cisco 无线AP刷机为胖AP
  3. Oracle 11G在用EXP 导出时,空表不能导出解决
  4. 聊聊高并发(六)实现几种自旋锁
  5. java异常 说服力_异常常见面试题目
  6. 敏感词过滤的php代码,PHP敏感词过滤
  7. Upload-Labs(17-20)
  8. 基于RTP/RTCP的无线视频传输自适应带宽控制
  9. 红米NOTE8PRO拍照技巧
  10. 人工智能面试总结:160个机器学习面试题,赶紧先考考自己!
  11. 嵌入式系统概述1-嵌入式系统定义、特点和发展历程
  12. Hadoop3 - HDFS 文件存储策略
  13. fffffffffffffffffffffffffffffff
  14. 机器学习面试必考面试题汇总—附解析
  15. java map遍历的5种方法
  16. 【博客628】k8s pod访问集群外域名原理以及主机开启了systemd-resolved的不同情况
  17. 全网优秀的攻防渗透工具总结
  18. java获取其他窗体上的控件,怎么获取从引用自定义panel控件的frame里获取它的控件的值...
  19. leetcode: 517. 超级洗衣机
  20. JavaScript学习记录七

热门文章

  1. 管理系统中计算机应用实践报告,管理系统中的计算机应用实践报告.docx
  2. METTLER TOLEDO梅特勒变送器维修电路板M300
  3. 4.4 使用曲线命令修复图像色偏问题 [原创Ps教程]
  4. Web初学-2022.11.6-12.02
  5. 网易号怎么开通收益?网易号怎么去运营?
  6. 智能家居这块“蛋糕”“一起吃”才香
  7. Linux运维学习第一周总结
  8. Oracle9i突破内存限制,oracle9i 的内存分配
  9. 去掉字符串中所有的逗号
  10. 轻舟已过万重山:专访网易云陈谔