7.28_python_lx_day18

一.json

(1)定义:所有的编程语言都能够识别的数据格式叫做json,是字符串

  能够通过json序列化成字符串与如下类型:(int float bool str list tuple dict None)

(2)json用法

dumps和loads是一对,可以序列化成字符串

<1>dumps序列化成字符串

1 dic = {'name':"刘子豪",'age':81,'classroom':'python31','family':['老爸','老妈','老伴']}
2 # ensure_asscii=False 显示中文 sort_keys=True 对字典的键进行排序
3 res = json.dumps(dic,ensure_ascii=False,sort_keys=True)
4 print(res,type(res))

<2>loads反序列化原来的数据类型

1 dic = json.loads(res)
2 print(dic,type(dic))

dump 和 load是一对,针对于文件,把数据序列化后储存文件

1 dic = {"name":"刘子豪","age":81,"classroom":"python31","family":["老爸","老妈","老伴"]}
2 with open('ceshi728.json',mode='w',encoding='utf-8')as fp:
3     json.dump(dic,fp,ensure_ascii=False)
4 
5 with open('ceshi728.json',mode='r',encoding='utf-8')as fp:
6     dic = json.load(fp)
7     print(dic,type(dic))

(3)json 和 pickle 之间的区别

json 和 pickle 两个模块的区别:
  (1)json序列化之海的数据类型是str,所有编程语言都识别,
   但是仅限于(int float bool)(str list tuple dict None)
   json不能连续load,只能一次性拿出所有数据
  (2)pickle序列化之后的数据类型是bytes,
   所有数据类型都可转化,但仅限于python之间的存储传输.
   pickle可以连续load,多套数据放到同一个文件中

json使用的广泛性比pickle更强.
json 用在不同编程语言的数据交流中
pickle 用于数据的存储

二.time 时间模块

(1)localtime  获取本地时间元组(参数是时间戳,默认当前)

(2)mktime  通过时间元组获取时间戳(参数是世界元组)

(3)ctime  获取本地时间字符串(参数是时间戳,默认当前)

(4)asctime  通过时间元组获取时间字符串(参数是时间元组)(了解) 不能自动识别周几

(5)sleep  程序睡眠等待

(6)strftime  格式化时间字符串(格式化字符串,时间元组) strftime如果在windows当中出现中文,直接报错,不能解析,linux 可以支持

(7)strptime  将时间字符串通过指定格式提取到时间元组中(时间字符串,格式化字符串) 要求字符串不能乱加符号,必须严丝合缝

(8)perf_counter  用于计算机程序运行的时间(了解)

三.zipfile 压缩模块

(1)extract  解压单个文件

(2)extractall  解压所有文件

(3)语法(支持with语法)

1 with zipfile.ZipFile("1424.zip","a",zipfile.ZIP_DEFLATED) as zf:
2     zf.write("/bin/dir","dir")

(4)查看压缩包

1 with zipfile.ZipFile("1424.zip","r",zipfile.ZIP_DEFLATED) as zf:
2     lst = zf.namelist()

猜你喜欢

转载自www.cnblogs.com/Magicianlx/p/13394348.html