模块(二)

一、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)

原文地址:https://www.cnblogs.com/zhangzhechun/p/10309725.html