数据持久化
计算机存储空间分为:运行内存和磁盘两种。
-
程序中产生的数据默认都是保存在运行内存中,存储在运行内存中的数据在程序结束后会自动销毁
-
如果将数据存储到磁盘中,那么数据除非手动删除或者磁盘损坏,否则会一直存在,磁盘存储数据的基本单位是文件
数据持久化指的就是将程序中的数据以文件的形式保存到磁盘中
数据持久化工具
数据库(.db、sqlite)、json文件(.json)、xml文件(.xml)、plist文件(.plist)、普通文本文件(.txt)
excel文件(.xls、.xlsx)、csv文件(.csv)
文件操作 – 这里指操作文件内容
文件操作基本流程:
打开文件 -> 操作文件(读操作、写操作) -> 关闭文件
1.打开文件
open(file, mode='r', *, encoding=None)
- 以指定方式打开指定文件,返回一个文件对象
file
指定文件路径,确定要打开的是哪个文件
绝对路径:文件在计算机中的全路径,例:“E:\study\video\test.py”
相对路径:用.表示当前目录(当前目录指的当前代码文件所在的目录);用…表示当前目录的上层目录
注意:使用相对路径时必须保证文件在项目工程里
mode
字符串,文件打开方式,决定打开文件后读还是写;决定操作文件的时候数据的类型(二进制or字符串)
第一组值 - 决定打开文件后读还是写
r
– 只读,w
– 只写;打开的时候会清空原文件,a
– 只写;打开的时候保留原文件,在原文件添加内容
第二组值 - 决定操作文件的时候数据的类型(二进制or字符串)
t
– 字符串(str),b
– 二进制(bytes)
注意:给mode赋值的时候必须给两组值中每一组选一个,如果第二组不选默认为’t’
所有的文件都可以以b的方式打开,但是只有文本文件才能用t打开
以读的方式打开一个不存在的文件,程序会报错;以写的方式打开一个不存在的文件程序不会报错,并且会自动创建此文件
encoding
文本文件编码方式,一般设置为"utf-8"
注意:一般不需要设置这个值,默认和电脑默认编码方式一致
如果给以b的方式打开文件,一定不能给encoding赋值
2.操作文件
1)读
文件对象.read()
– 从读写位置开始读到文件结尾(读写位置默认在文件开头)
文件对象.readline()
– 从读写位置开始到一行结束(一次读一行,只支持文本文件
2)写
文件对象.write(数据)
– 将指定数据写入文件
3.关闭文件
文件对象.close()
数据持久化的步骤
第一步:确定需要持久化的数据
第二步:创建合适的文件,并且确定文件的初始内容
第三步:程序中需要这个数据的时候,必须从文件中获取
第四步:当这个数据发生改变以后,必须将最新的数据更新到文件中