文件操作
1,数据持久化
-
背景:程序中的数据默认保存到运行内存中,在程序运行结束后运行内训中的数据会被销毁。
-
数据持久化又被称为数据本地化,就是将程序中的数据存储到文件中去。
-
数据持久化工具:数据库(.db, .sqlite)、json文件、plist文件、csv文件、excel文件、txt文件等等
-
数据持久化步骤:
- 第一步:确定需要持久化的数据
- 第二部:创建文件并且确定文件初始内容
- 第三部:在程序中需要这个数据的时候从这个文件中读这个数据
- 第四部:当数据发生改变后,需要将最新的数据写入文件中
2,文件操作 ---- 文件内容
基本流程:打开文件 ----> 操作文件 ----> 关闭文件
2.1打开文件
open(file, moder="r",*, encoding=None)
-
file ---- 文件路径(file若是相对路径要保证操作的文件在当前代码文件夹内)。
(* ̄(oo) ̄):相对路径若是’.\‘开头, ‘.\’可以省略。 -
mode ---- 文件打开方式;由两组值决定文件打开后能干什么,同时决定操作文件时数据的类型
①第一组值(决定能干什么):r, w, a
r ---- 只读
w ---- 只写,会清空原文件内容,再写内容,文件不存在时会创建文件
a ---- 只写,在原文件的基础上添加(append),文件不存在时会创建文件
±— 读写,使用方法“r+”, “a+”, “w+”
②第二组值(决定数据类型):t, b
t ---- 字符串 (文本文件)
b ---- 字节(二进制数据) (二进制文件,图片,视频,音频,pdf等等)打开文本文件可以用t或者b,而二进制文件只能用b。使用的时候必须在每一组值中选一个,如果第二值没选,相当于选择t
-
encoding ---- 文件编码方式(文本文件文字存储的时候采用的字符集)
- 只有在以t方式打开文件的时候才需要设置encoding。
- 一般赋值utf-8—>数字、字母一个字节,中文三个字节,表情符号四个字节。
- 只要是文本文件的操作都设置encoding.
f = open("D:\千峰\Python2022\Text1.txt", "r")
f.read()
f = open("D:\千峰\Python2022\Text1.txt", "w+", encoding="UTF-8")
f.read()
f.write("uhdf阿富汗喀什副科级")
f = open("Text1.txt", "rt", encoding="UTF-8")
result = f.read()
print(result)
print(type(result))
2.2操作文件
读操作:
- 文件对象.read() ---- 从读写位置开始读到文件结束(获取整个文件内容)
- f.seek(0) ---- #将读写位置移动到开头
- 文件对象.readline() ---- 从读写位置到一行结束
写操作:
- 文件对象.write(数据) ---- 将指定数据写入到文件中
f = open("Text1.txt", "a")
result = f.write("暗室逢灯发送到发送到发送到发送到")
print(result)
2.3关闭文件
文件操作完成后需要关闭文件
#方法一
文件对象.close
#方法二
result = open("Text1.txt").read() # 打开和读写在一条语句中进行,结束后会自动关闭
#方法三
with open("Text1.txt") as f:
result = f.read()
print(result)