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