python之time、datetime、json实战
一、time实战
time模块提供了各种与时间有关系的库
1.时间戳
什么是时间戳?时间戳可以理解为区块的“出厂日期”,它是指从格林威治时间1970年01月01日00时00分00秒(北京时间)起,截止到现在的总秒数。
比如:3600,表示的就是1970年01月01日01时00分00秒。意思是从1970年01月01日08时00分00秒起,截止到现在的秒数。
例如:北京时间 2015年12月31日07:00:00,那么它的时间戳就是1451552400,意思是从北京时间 1970年1月1 日8时起,一共经历了1451552400秒。
import time as t #调用time库重命名为t 要使用它必须得先调用它
print('获取时间戳:',t.time())
print('获取当前时间的字符串格式:',t.ctime())
print('时间戳转为字符串:',t.ctime(t.time()))
print('时间戳转为struct_time:',t.gmtime(t.time()))
print('时间戳转为本地的时间:',t.localtime(t.time()))
二、datetime实战
相比于time模块,datatime也是表示时间的,但是会更加直观
import datetime #调用datetime库
import time #调用time库
print('获取当前时间:',datetime.datetime.now())
print('时间戳转换格式:',datetime.datetime.fromtimestamp(time.time()))
print('在当前基础上增加3小时:',datetime.datetime.now()+datetime.timedelta(hours=3))
print('在当前基础上减少3小时:',datetime.datetime.now()+datetime.timedelta(hours=-3))
print('在当前基础上增加2天:',datetime.datetime.now()+datetime.timedelta(days=2))
print('在当前基础上减少1分钟:',datetime.datetime.now()+datetime.timedelta(minutes=-1))
获取当前时间:
import datetime #导入库
print('获取当前时间:',datetime.datetime.now())
from datetime import datetime
print('获取当前时间:',datetime.now())
三、json实战
1.序列化和反序列化
序列化:把内存里的数据类型转为字符串的数据类型,使能够存储到硬盘或通过网络传输到远程,因为硬盘或者网络传输时只接受bytes的数据类型。简单的说就是把Python的数据类型(字典,元组,列表)转为str的数据 类型过程。
反序列化:就是str的数据类型转为Python对象的过程。
2.序列化和反序列化的关键字
dumps():对python对象(list,tuple,dict)进行序列化
loads():对python对象(list,tuple,dict)进行反序列化
dump():对文件进行序列化(本质上把内容写到文件里面
load():对文件进行反序列化(本质上是读取文件里面的内容)
3.列表的序列化和反序列化
#列表的序列化
list1=[x for x in range(5)]
import json
liststr=json.dumps(list1)
print(liststr) #查看序列化后内容 看起来和之前没什么区别
print(type(liststr)) #查看序列化后的类型 为字符串的类型
#列表的反序列化
strlist=json.loads(listsrt)
print(strlist)
print(type(strlist))
4.元组的序列化和反序列化
#元组的序列化
tuple1=(1,2,3)
import json
tuplstr=json.dumps(tuple1)
print(tuplstr)
print(type(tuplstr))
#元组的反序列化
strtuple=json.loads(tuplstr)
print(strtuple)
print(type(strtuple))
5.字典的序列化和反序列化
#字典的序列化
dict1={"name":"caiying","age":28}
import json
dictstr=json.dumps(dict1)
print(dictstr)
print(type(dictstr))
#字典的反序列化
strdict=json.loads(dictstr)
print(strdict)
print(type(strdict))
6.文件的序列化和反序列化
#文件的序列化
dict1={"name":"caiying","age":28}
import json
json.dump(dict1,open('data.txt','w')) #将字典dict1的内容写入文件data.txt,再将它序列化
#文件的反序列化
print(json.load(open('data.txt','r'))) #打开文件data.txt读取文件内容,将它反序列化再输出

浙公网安备 33010602011771号