文件操作
运存:用来保存程序运行过程中产生的数据,程序结束就会自动销毁。
硬盘:用来对数据持久化,保存在硬盘中的数据,除非手动删除否则数据一直存在。
数据持久化
数据持久化:就是将数据以各种形式保存到硬盘中(保存到本地文件中)
文件操作基本步骤:打开文件 -> 操作文件(读、写) -> 关闭文件
打开文件
open(file, mode=‘r’, encoding=None ) - 以指定的模式打开指定的文件并返回一个文件对象
说明:
file
- 文件路径,字符串类型
绝对路径:文件的全路径(一般不写绝对路径)
相对路径:只写文件绝对路径的一部分,另一部分用特殊符号代替。
./ - 当前路径
…/ - 上一级目录
…/ - …
mode
- 打开方式,字符串类型
第一组:控制操作类型
r - 只读,默认值
w - 只写,先清空原文件的内容
a - 追加,在原文件后追加内容
第二组:控制数据类型(文本-str/二进制数据-bytes)
t - 操作的数据是文本数据,默认值
b - 操作的数据是二进制数据
注意:每一组只选择一个,两组值进行组合使用。
encoding
- 文本编码方式,utf-8
注意:如果打开方式带b,就不能不设置encoding
总结:文本文件打开时可以时t或b;二进制文件只能用b打开(图片文件,音视频文件)
关闭文件
手动关闭文件:
文件对象=open(文件路径,文件打开方式,encoding=文本编码方式)
操作文件对象
文件对象.close()
自动关闭文件:
with open(文件路径,文件打开方式,encoding=文件编码方式) as 文件对象:
操作文件对象
读
文件对象.read() - 从文件读写位置开始,读到文件结尾。
文件对象.readline() - 读文本文件的一行的内容(从第一行读到文件位置结束)
文件对象.readlines() - 一行一行的读,读完为止,返回的是个列表,列表中的元素是每一行的内容
写
文件对象.write(内容)
json
概念
存在的意义: json就是不同语言之间进行数据交流的一种数据格式
json是一种数据格式
一个json文件中有且只有一个数据
数据应是json支持的数据类型的数据
json支持的数据类型:数字类型、字符串、布尔、数组、字典/对象,null
类型 | 描述 |
---|---|
数字 | 所有的数字,19,98,3e4,…支持科学计数法 |
字符串 | 用双引号引起来的文本数据 |
布尔 | 只有true和false |
数组 | key必须是字符串,value随意 |
字典 | 任何类型,类似于列表 |
null | 相当于None |
python与json之间的相互转换
json转python
json python
数字类型 数字
字符串 字符串
布尔 True和False
字典 字典
数组 列表
json.loads(字符串)
- 将json格式的字符串转换成python对应的字符串(字符串的内容必须满足json格式)
python转json
python json
int/float 数字
字符串 变成双引号的字符串
布尔 true和false
列表/元组 数组
字典 字典
None null
ds = json.dumps(数据)
- 将指定的python数据转换成json格式的字符串