一、文件操作
1.数据持久化
将数据通过文件存储到硬盘里面。
2.操作步骤
打开文件->操作文件内容(读、写)->关闭文件。
①.打开文件:
方法一:open(file, mode='r', encoding=None)
'r'/'tr' - 只读,返回字符串
'rb'/'br' - 只读,返回二进制数据
'w'/'tw' - 只写,清空原数据,写入字符串
'bw'/'wb' - 只写,清空原数据,写入二进制数据
'a'/'ta' - 只写,原数据后写入字符串
'ab'/'ba' - 只写,原数据后写入二进制数据
方法二:
with open(file, mode='r', encoding=None) as 文件对象:
文件作用域(操作文件)
②.读写文件:
文件对象.read() - 获取整个文件内容;
文件对象.readline() - 获取文本文件第一行的内容;
文件对象.write() - 将内容写入指定文件中。
③.关闭文件:
文件对象.close()
④.文件对象.seek() - 移动光标到文件开头。
3.打开不存在的文件:
只读:报错
只写:创建一个空的文件
4.二进制文件的读写
普通文本文件:可以使用带t或者带b的读写方式去打开。
二进制数据文件:视频文件、音频文件、图片都是二进制,这些文件只能选择带'b'的方式去打开。
4.应用:如何做到数据持久化
a.将数据保存到本地文件
b.需要这个数据的时候不是直接赋值而是从本地文件中去取它的值
c.当数据的值发生改变后将新的数据更新到文件中
eval()用法:将序列字符串转换成字典
二、json数据
json模块是python内置的模块,模块主要提供和json操作相关的函数。
用法:import json
1.json数据
json数据是一种通用的数据格式;一般数据接口提供的数据都是json格式的数据。
2.json数据的格式
①.格式:有且只能有一个数据,这个数据必须是json支持的数据类型。
②.支持的数据类型:
数字类型(number) - 包括所有的数字,例如:100, 12.3, -4.3, 3e3(支持科学计数法)。
字符串 - 用双引号引起来的字符集,例如:"abc", "123", "asd345", "\n", "\u4e00"。
布尔值 - 只有true和false两个值。
数组 - 相当于python中的列表:[100, "你好"]。
字典 - 相当于python中的字典,key必须是字符串:{"a":122, "er":"df"}。
空置 - null;相当于python中的None,表示空和没有。
3.将json数据转换成python数据:
①转换关系:
json | python |
---|---|
数字类型 | int/float |
字符串 | str,双引号可能会变成单引号 |
布尔值 | bool, true -> True; false -> False |
数组 | list, |
字典 | dict |
空值 | null -> None |
②.转换方法:
json模块中有一个loads可以将json格式的数据转换成python对应的数据。
loads(字符串) - 将json格式的字符串转换成python数据
注意:这儿的字符串的内容必须是json数据
4.将python数据转换成json数据
①.转换关系:
python | json |
---|---|
int\float | 数字 |
str | 字符串,引号都会变成双引号 |
bool | 布尔,True -> true, False -> false |
list\tuple | 数组 |
dict | 字典 |
None | null |
②.转换方法:
dumps(数据) - 将括号中的python数据转换成json格式的字符串