模块-2
模块(hashlib库)
import hashlib
info='18756500447'
md5_a1=hashlib.md5()
md5_a1.update(info.encode('UTF-8'))
res1=md5_a1.hexdigest()
print(res1) #1a69b3c2211c4a9ef288575568e719e2
“加盐”,加东西一起哈希
import hashlib
info='18756500447'
md5_a2=hashlib.md5('shangping'.encode('UTF-8'))
md5_a2.update(info.encode('UTF-8'))
res2=md5_a2.hexdigest()
print(res2) #26e29d8732e26859caa91f3bc6c16d07
import time
json库
序列化:将自己的文本数据,程序中的数据转变成网络中传输的数据
import json
info='''
{"name":"sp","likes":["games","look"]}
''' #json中必须得使用双引号,单引号不行,且json中无小括号
data1=json.loads(info)
print(data1['likes'])
print(type(data1))
反序列化:将网络中传输的数据,转变成程序中的数据或者文本数据
import json
dict1 = {"姓名": "sp", "likes": ["games", "look"]}
data2=json.dumps(dict1,ensure_ascii=False) #当字典中有中文时,使用ensure_ascii()将中文以ASCII码进行转化
print(data2,type(data2))
time库
s1=time.time() #时间戳(毫秒级别,整数部分是最低到秒)
print(s1,type(s1))
datetime
from datetime import datetime #datetime得从datetime的包中调用datetime
s2=datetime.now()
print(s2,type(s2))
从这行开始是格式化,百分号后面直接加大写的字母,月日因为冲突索引使用小写的,分和秒使用大写,且年月日和时分秒可以互换位置
s3=s1.strftime(" %Y%m%d %H:%M%S")
print(s3)
strptime---->datetime类型 strptime()
s4 = "2024-01-12"
s4=datetime.strptime(s4,'%Y-%m-%d')
print(s4)
datetime类型------> 字符串
s5=datetime.now().strftime(" %Y%m%d %H:%M%S")
print(s5)
datetime----->时间戳
s6=datetime.now()
s6=s6.timestamp()
print(s6)
时间戳----->datetime类型
res3=datetime.fromtimestamp(s1)
print(res2)
res=res3.strftime("%Y/%m/%d %H:%M:%S")
print(res3)
时间戳----->datetime类型-->字符串
s7 = datetime.fromtimestamp(18756500447).strftime("%Y/%m/%d %H:%M:%S")
print(s7)
import os
s8 = os.path.join('data','users.txt')
print(s8,type(s8)) # data\users.txt <class 'str'>
将路径进行拼接
s9 = os.path.join('data','info','users.txt')
print(s9,type(s9)) # data\info\users.txt <class 'str'>
dirname() 获取父级目录
s10= os.path.dirname(s1)
print(s10)
s11 = os.path.dirname(os.path.abspath(file))
print(s11)