show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次研究了
- 纯文本的字幕文件
- srt文件
- 并且让他根据时间线
- 在终端播放
- 可以从文本文件中
- 读取 数据结构吗?
- 比如
- 元组
- 列表
- 字典?
- json.org
- python如何应用json呢?
- 我们有这么一个字典
- 运行的结果告诉我
- 这确实是一个字典
- 可以将这个字典转化为字符串吗?
- str可以把复杂容器转化为str类型对象
- 转化结果
- 转化成功
- 可以转化回dict去吗?
- 转化回去用什么方式呢?
- 试试eval
- 意思是 evaluate 衡量
- 尝试eval
- 这种解析确实是可以做的
- 还有其他方式吗?
- import json
- 观察例程
- dumps
- 原意指的是倾倒
- 计算机术语中指的是转储
- dumps 将容器类对象转储成字符串
- 实现转储功能
- 可以把字符串加载成容器类型吗?
- loads 功能
- 可以将字符串对象转化为容器对象!
- 这两个都能用
- 各有什么好处吗?
- 内建的函数
- 不用import
- 方便省事
- json包要求
- 字典中的key必须使用双引号引用
- 双引号的就没有问题
- json.loads有什么好处呢?
- 自带解码功能
- 可以解码字节序列
- 加载同样的数据json性能比eval块
- eval有可能执行一些系统命令
- 执行结果
- 真的读了test2.py
- 并且删了文件
- 还是json更安全
- 不过说到底什么是json?
- json
- 全称是JavaScript Object Notation
- 目前是通用的数据交换格式
- 所有编程语言都可以很好地读写json
- 目前json是文档数据库的基础
- 在python中json刚好是数据容器字符串化后的样子
- 可以观察json文件的结构吗?
- 可以将json数据复制粘贴进去
- 就会在左边的视图中
- 看到json对应的树形结构
- 能否将这个json序列化呢?
- serialize 来自于serial
- 系列
- serial 来自于 *ser-
- *ser- 的意思是 排成一行
- sort 排序、整理
- consort 一组
- insert 插入
- exsert 使伸出,使突出
- exert (ex向外)运用,发挥;施以影响
- desert 抛弃
- dissertation (分开整理的)论文
- assert 主张
- reassert 重新主张
- assertion 断言
- 将字节流转化为对象
- 先查文档
- 确实写了文件
- 如何反序列化呢?
- 读取结果
- 不是说序列化是将对象转化为字节序列吗?
- 这里怎么转化为文本然后存在文件里呢?
- 这也算序列化吗?
- 文本文件本质上也是文件
- 文件肯定是用二进制方式存储的
- 二进制方式存储的是文本而已
- 文本最终表现为字节形态
- 这依然是序列化和反序列化的过程!
- 这次我们有两个可以将容器对象和字符序列对象相互转化的工具
- eval
- json
- eval
- 简单好用
- 可处理单引号数据
- json
- 可解码
- 速度快
- 更安全
- 我们可以把容器类的对象持久化吗?
- 就是说
- 把容器对象存成一个硬盘里面的文件
- 然后再读出来,还原成一个容器对象
- 可以吗?🤔
- 下次再说 👋