python之 json模块 + 时间模块time + 压缩模块zipfile

json

所有的编程语言都能够识别的数据格式叫做json,是字符串
能够通过json序列化成字符串有如下类型: (int float bool str list tuple dict None)
json用法
(1) dumps和loads是一对,可以序列化成字符串

dic = {"name":"高云峰","age":81,"classroom":"python31","family":["老爸","老妈","老伴"]}
 ensure_ascii=False 显示中文 sort_keys=True 对字典的键进行排序
res = json.dumps(dic,ensure_ascii=False,sort_keys=True)
print(res , type(res))
# loads反序列化原来的数据类型
dic = json.loads(res)
print(dic,type(dic))

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

dic = {"name":"高云峰","age":81,"classroom":"python31","family":["老爸","老妈","老伴"]}
with open("ceshi0728.json",mode="w",encoding="utf-8") as fp:
	json.dump(dic,fp,ensure_ascii=False)

with open("ceshi0728.json",mode="r",encoding="utf-8") as fp:
	dic = json.load(fp)
	print(dic, type(dic))

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

time() 获取本地时间戳
localtime() 获取本地时间元组 (参数是时间戳,默认当前)
mktime() 通过时间元组获取时间戳 (参数是时间元组)
ctime() 获取本地时间字符串(参数是时间戳,默认当前)
asctime() 通过时间元组获取时间字符串(参数是时间元组) 不能自动识别周几

# 改造办法
ttp = (2020,7,28,10,54,30,0,0,0)
res = time.mktime(ttp)
str_time = time.ctime(res)
print(str_time)

sleep() 程序睡眠等待
strftime() 格式化时间字符串(格式化字符串,时间元祖)

# 默认按照当前时间做格式化
res = time.strftime("%Y-%m-%d %H:%M:%S")
print(res)
# 指定时间元组,对时间字符串格式化
strftime如果在windows当中出现中文,直接报错,不能解析,linux 可以支持
ttp = (2000,10,1,12,12,12,0,0,0)
res = time.strftime("%Y-%m-%d %H:%M:%S" , ttp)
print(res)

strptime() 将时间字符串通过指定格式提取到时间元组中(时间字符串,格式化字符串)
strftime => 把时间元组 -> 时间字符串
strptime => 把时间字符串 -> 时间元组
perf_counter() 用于计算程序运行的时间

# 记录开始时间
startime = time.perf_counter()
startime = time.time()
# 记录结束时间
endtime = time.perf_counter()
endtime = time.time()
%Y 年 year 
%m 月 month
%d 日 day
%H 时 hour
%M 分 minute
%S 秒 second

压缩模块 zipfile

# 1.压缩文件
# (1) 创建压缩包
zf = zipfile.ZipFile("1424.zip","w",zipfile.ZIP_DEFLATED)
# (2) 把文件写入到压缩包中
# write(路径,别名)
zf.write("/bin/cp","cp")
zf.write("/bin/chmod","chmod")
# 可以临时创建一个文件夹tmp在压缩包中
zf.write("/bin/df","/tmp/df")
# (3) 关闭压缩包
zf.close()
# 2.解压文件
# (1)打开压缩包
zf = zipfile.ZipFile("1424.zip","r")
# (2)解压文件
# 解压单个文件
zf.extract("cp","ceshi1424_2")
# 解压所有文件
# zf.extractall("ceshi1424")
# (3) 关闭压缩包
zf.close()
# 3.追加文件 (支持with语法)
with zipfile.ZipFile("1424.zip","a",zipfile.ZIP_DEFLATED) as zf:
	zf.write("/bin/dir","dir")

# 4.查看压缩包
with zipfile.ZipFile("1424.zip","r",zipfile.ZIP_DEFLATED) as zf:
	lst = zf.namelist()
	print(lst)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值