模块03
time模块
用于处理时间相关
1 获取时间
2 不同格式的时间转换
3 sleep函数
time.time() 时间戳,通常用于计算时间差
time.asctime() 格林威治时间格式
time.ctime() 格林威治时间格式
time.gmtime() 结构化时间,比中国时间晚八个小时
time.localtime() 结构化时间,本地时间
time.mktime(time.localtime()) 从结构化时间转换为时间戳
time.strftime("%Y - %m - %d %H:%M:%S %p", time.localtime()) 将结构化时间转换为格式化时间
time.localtime().tm_year 从结构化时间中单独取出一个值,比如年
time.strptime("2019-01-23 10:40:40","%Y-%m-%d %H:%M:%S") 从字符串转换为结构化
datetime
datetime.datetime.now() 获取当前时间,会根据时区自动转换
datetime.datetime(2019,1,23) 创建datetime对象指定时间
date.datetime(2019,1,23) - date.datetime(2019,1,22) 两个datetime可以进行剑法运算,只能减
单独获取某个部分
dl = datetime.timedelta(days=30) 时间差对象
datetime.datetime.now() - dl 30天后是什么日子,可以进行加减
datetime.timedelta(days=2) - datetime.timedelta(days=1) 两个时间差可进行减加除
random
随机数相关模块
计算机中的随机数都是伪随机
随机数是通过一个算法根据一个种子数计算得来的
只要知道了种子数,随机数的结构就是固定的
默认是使用当前的时间戳作为种子数
random.random() 从0-1
random.randint(1,3) 从1,2,3中随机一个
random.randrange(1,3) 从1,2中随机一个
random.uniform(0,2) 0到2中的随机浮点数
random.choice([1,2]) 从列表中随机一个
random.sample([1,2,3,4,5],2) 从列表中随机选出指定个数
random.shuffle() 打乱顺序
sys
与解释相关的操作
system 代表的不是操作系统而是解释器自己
sys.path 获取/添加环境变量
sys.argv 获取调用解释器时传递的参数,第一个时执行文件本身
sys.exit() 立刻退出解释器,状态码可以自定义
sys.modules 查看已经加载的所有模块
sys.platform 获取平台
sys.maxsize 获取int最大值
sys.version 获取解释器版本
pickle
是一个序列化模块
序列化指的是把一种数据类型 转换成另一种数据类型
目的是为了传输或存储数据
pickle模块序列化得到的数据只能被pickle来反序列化
对于网络应用程序而言,我们需要一种任何语言平台都能识别的数据类型
json 和 xml
相关函数
dumps:将python数据类型转换为字节
dump封装了write函数的调用
loads:是将字节转为python数据类型
load封装了read函数的调用