栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python 3,从/向gzip文件读取/写入压缩的json对象

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 3,从/向gzip文件读取/写入压缩的json对象

这里有四个转换步骤。

  1. Python数据结构(嵌套字典,列表,字符串,数字,布尔值)
  2. 包含该数据结构(“ JSON”)的序列化表示形式的Python字符串
  3. 包含该字符串表示形式的字节列表(“ UTF-8”)
  4. 包含先前字节列表(“ gzip”)表示形式的字节列表

因此,让我们一步一步地采取这些步骤。

import gzipimport jsondata = []for i in range(N):    uid = "whatever%i" % i    dv = [1, 2, 3]    data.append({        'what': uid,        'where': dv    })          # 1. datajson_str = json.dumps(data) + "n"    # 2. string (i.e. JSON)json_bytes = json_str.enpre('utf-8') # 3. bytes (i.e. UTF-8)with gzip.GzipFile(jsonfilename, 'w') as fout:   # 4. gzip    fout.write(json_bytes)

注意,

"n"
这里添加完全是多余的。它不会破坏任何东西,但是除此之外,它没有任何用处。我添加它只是因为您的代码示例中包含了它。

阅读则完全相反:

with gzip.GzipFile(jsonfilename, 'r') as fin:    # 4. gzip    json_bytes = fin.read()# 3. bytes (i.e. UTF-8)json_str = json_bytes.depre('utf-8') # 2. string (i.e. JSON)data = json.loads(json_str)# 1. dataprint(data)

当然,这些步骤可以合并:

with gzip.GzipFile(jsonfilename, 'w') as fout:    fout.write(json.dumps(data).enpre('utf-8'))

with gzip.GzipFile(jsonfilename, 'r') as fin:    data = json.loads(fin.read().depre('utf-8'))


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370678.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号