puython3学习笔记(12)python常用库与IO操作
time模块的实战
time模块提供了各种与时间有关系的库。能处理各种和时间有关的问题
获取时间戳 time()
import time # 获取时间戳 print(time.time())
输出结果:
1637908165.347666
获取时间戳之后可以利用时间戳转换工具转换成具体的时间,具体如下:

获取当前日期的字符串格式 ctime()
# 获取当前日期的字符串格式 print(time.ctime())
输出结果:
Fri Nov 26 14:34:59 2021
时间戳转换为字符串
# 时间戳转换为字符串 print(t.ctime(t.time()))
输出结果
Fri Nov 26 14:34:59 2021
获取中国当前时间
时间戳转换为本地时间

datetime模块实战
datetime模块和time模块一样,都是处理时间的,但datetime更加直观
时间戳转换格式
在当前时间的基础上增加或者减少
获取当前时间

JSON序列化和反序列化
''' 序列化:把内存里的数据类型转为字符串的数据类型,使能够存储到硬盘或通过网络传输到远程, 因为硬盘或者网络传输时只接受bytes的数据类型。 简单的说就是把Python的数据类型(字典,元组,列表)转为str的数据 类型过程。 而反序列化,就是str的数据类型转为Python对象的过程。 JSON序列化和反序列化的四种格式: dumps():对Python对象(list,tuple,dict)进行序列化 loads():对Python对象(list,tuple,dict)进行反序列化 dump():对文件进行序列化(本质上把内容写到文件里面) load():对文件进行反序列化(本质上是读取文件里面的内容) '''
JSON对于python的序列化和反序列化就是(列表 元组 字典)和字符串的相互转换 三者转换为字符串为序列化 字符串转换为三者为反序列化,序列化使用的关键字dumps() 反序列化使用的关键loads()
列表的序列化
list1=[x for x in range(5)] # 序列化列表 list1_str=json.dumps(list1) print(list1_str) print(type(list1_str)) # 反序列化列表 str_list=json.loads(list1_str) print(str_list) print(type(str_list))
输出结果:
[0, 1, 2, 3, 4] <class 'str'> [0, 1, 2, 3, 4] <class 'list'>
元组的序列化
tuple2=(1,2,3,) tuple_str=json.dumps(tuple2) print(tuple_str) print(type(tuple_str)) str_tuple=json.loads(tuple_str) print(str_tuple) print(type(str_tuple))
输出结果:
[1, 2, 3] <class 'str'> [1, 2, 3] <class 'list'>
字典的序列化
dict1={"name":"baixiaoning","sex":"nan"}
dict_Str=json.dumps(dict1)
print(dict_Str)
print(type(dict_Str))
Str_dict=json.loads(dict_Str)
print(Str_dict)
print(type(Str_dict))
输出结果:
{"name": "baixiaoning", "sex": "nan"}
<class 'str'>
{'name': 'baixiaoning', 'sex': 'nan'}
<class 'dict'>
JSON文件序列化和反序列化 序列化就是将内容写进文件里面 反序列化就是读取文件的内容
文件的序列化
import json
list5=[1,2,3,4] # 文件序列化 将内容写进文件里面 json.dump(list5,open("data.txt","w"))
在这里就是将列表里面的内容写进data.txt里面

文件的反序列化
import json
list=[1,2,3,4]
# 反序列化就是读取文件里面的内容 print(json.load(open("data.txt","r")))
输出结果:
[1, 2, 3, 4]
文件的序列化和反序列化其实和文件IO操作的写和读作用和效果都是一样的


浙公网安备 33010602011771号