第十四天-文件操作
一、数据持久化
-
数据持久化
计算机存储空间分为:运行内存和磁盘两种
程序中产生的数据默认都是保存在运行内存中;存储在运行内存中的数据
在程序运行结束数据就会消失,如果将数据存储在磁盘中数据就会一直存在
磁盘存储的单位是文件数据持久化就是将程序中的数据以文件的形式保存在磁盘里面
-
常见数据持久化文件
数据库(.db .sqlite),json文件(.json),xml文件(.xml)
excel文件(.xls 、.xlsx)、csv文件(.csv)
二、持久化基础
-
数据持久化的步骤
第一步:确定需要持久化的数据
第二步:创建合适的文件,并给定初始内容
第三步:程序中需要这个数据的时候,必须从文件中获取
第四步:当时据发生改变的时候将最新的数据存进文件
三、文件操作流程
-
打开文件
open(file,mode=‘r’,*encoding=None)——以指定的方式打开指定文件,返回一个文件对象
a.参数file——文件路径,用来确定要打开哪个文件
绝对路径:文件在计算机中的全路径
相对路径:用.表示当前目录(当前代码文件所在的目录)
用…表示上级文件
使用相对路径的时候要保证文件放在工程下
b.参数mode——文件打开方式,决定打开之后是能读还是写
决定操作文件的时候的数据类型
第一组值:——决定打开之后是能读还是写
(r-只读、w-只写;打开的时候会清空原文件、a-只写;打开的时候保留原文件)
第二组值:——决定操作文件的时候的数据类型 (t-字符串 b-二进制)
注意:在给mode赋值的时候必须在两组值中每组选一个,第一组默认’r’,第二组默认’t’
所有的文件都可以用b打开,但是只有文本文件才能用t打开
以读的方式打开一个不存在的文件程序会报错,以写的方式打开一个不存在的文件,会创建这个文件。
c.encoding——本文件编码方式,使用的时候一般设置成’utf-8’
注意:一般不需要设置这个值,默认和电脑默认编码方式一致
如果是以b的方式打开文件,一定不能给encoding赋值 -
操作文件
1)读操作
文件对象.read()——从读写位置开始到结尾(默认位置一般是开头)
文件对象.readline()——从读的地方开始读一行
2)写操作
文件对象.write(数据)——将指定数据写入文件中