一、datetime模块
#获取当前时间,会根据时区自动转换
print(datetime.datetime.now())
#创建datetime对象指定时间
print(datetime.datetime(year = 2019,month = 1,day = 23))
#两个datetime可以进行减法运算,而且只能做减法运算
d1 = datetime.tatetime(2019,1,23)
d2 = datetime.datetime(2019,1,24,10)
print(d2-d1) #1 day, 10:00:00
#可以单独获取某个部分
print(d2,hour) #10
#时间差对象,表示30天
d1 = datetime.timedelta(days = 30)
#三十天之后是什么日子,时间差可以获取datetime进行+和-
print(datetime.datetime.now()+d1)
#两个时间差 可以进行+ - /
d2 = datetime.timedelta(days = 1)
d3 = datetime.timedelta(days = 2)
print(d3 - d2)
二、pickle模块
pickle是一个序列化模块
序列化指的是把一种数据类型,转换成另一种数据类型,目的是为了传输或者存储数据
import pickle
#序列化的过程,就是从python数据类型转换成中间数据类型
dic = {"name":"zzc","age":18}
res = pickle.dumps(dic)
with open("db.txt",'wb') as f:
f.write(res)
picke反序列化:指的是从中间数据类型恢复成另一种数据类型,明目滴是为了传输或者存储数据
pickle模块序列化得到的数据只能被pickle反序列化
三、random模块
random随机相关模块
计算机中的随机数都是伪随机
随机数是通过一个算法,根据一个种子数计算得来的只要知道了种子数,随机数的结果就是固定的
默认是使用了当前的时间戳作为种子数
import random
print(random.random()) #随机生成数字,从0-1,不包含0和1
print(random.randint(1,3)) #两边都是闭区间 包含开始和结束
print(random.randrange(1,3)) #左闭右开 包含开始,不包含结束
print(random.choice([1,23,[4,5]])) #随机选取列表中的一个数
print(random.sample([1,'23',[4,5]],2)) #选出列表元素中任意两个值
print(randon.uniform(0,2)) #不包含1 的随机浮点数
item = [1,3,5,7,9]
random.shuffle(item) #随意打乱item的顺序,相当于洗牌
print(item)
获取随机验证码,可以指定长度
def get_auth_code(num):
res = " "
for i in range(num):
a = random.randint(65,90) #随机一个大写
b=random.randint(97,122) #随机一个小写
c=random.choice([a,b]) #随机挑一个
d=random.randint(0,9) #随机数字0-9
e=random.choice(d,c) #在数字和字母中随机一个
if e>9:
res+=chr(e)
else:
res+=str(e)
return res
print(get_auth_code(6)) #随机的数字长度为6
四、sys模块
sys表示的是与解释器自己相关的操作
import sys
print(sys.path) #添加 获取环境变量
print(sya.argv) #获取调用解释器时传递的参数,第一个永远是执行文件本省
sys.exit(-1) #退出解释器,状态码可以自定义,执行为0(状态码一般表示程序出现了哪种问题)
print(sys.modules) #查看已经加载的所有模块
print(sys.platform) #获取平台信息
print(sys.maxsize) #获取int最大值(在Python中没有长度限制)
print(sys.version) #获取解释器的版本
五、time模块
用于处理时间相关、获取时间、不同格式的时间转换、sleep函数
import time
print(time.time())#通常用于计算时间表,不会直接给用户看
#美国的显示格式
print(time.asctime())#格林威治时间
print(time.ctime())#格林威治时间
#把时间拆分为不同部分
print(time.gmtime()) #世界时间,比中国时间晚了8小时
print(time.locatime())#获取本地时间
#从结构化时间转为时间戳
print(time.mktime(time.localtime()))
#将结构化时间转为 格式化字符串时间
print(time.strftime("%y-%m-%d %H:%M:%S",time.location()))
#结构化时间可以单独获取某一个时间 比如年份 月份
print(time.localtime().tm_year)