文章目录
- 1. 什么是文件?
- 2. 操作文件的步骤
- 2.1 打开文件
- 2.2 读数据
- 2.3 写数据
- 2.4 关闭文件
- 3. 写数据实例
- 4. 快捷读取数据
- 5. 备份文件
1. 什么是文件?
那么文件的类型都有哪些呢?
文件包括以下类型:
- 文本文件:只包含文本字符,例如
.txt、.html、.css、.js
文件。 - 图像文件:包含图像信息,例如
.jpg、.png、.bmp、.gif
文件。 - 音频文件:包含音频信息,例如
.mp3、.wav、.aac
文件。 - 视频文件:包含视频信息,例如
.mp4、.avi、.mov
文件。 - 可执行文件:包含程序代码,例如
.exe、.sh、.bat
文件。
说明: - 目录就是可以用于存放多个文件、目录的集合;[os模块]
- 文件是用于记录数据内容,通常是有后缀名的。[file对象]
使用计算机来操作文件,就是把一些数据内容存放起来,可以让程序下一次执行时,直接使用已保存的数据。
我们已知道,文件可以用来存储数据。若根据文件内容的不同来给文件分类,可分为:
(1)文本类型:存放文字类数据,读写时使用r、w。
(2)二进制原始数据类型:存放二进制bytes数据,比如图片、音频、视频等,读写时使用rb、wb。
2. 操作文件的步骤
在python中操作文件记录信息的步骤:
(1)打开文件,或新建一个文件;open()
(2)读取或写入数据内容;read()/write()
(3)关闭文件。close()
说明:无论操作文件的过程多么复杂,这个步骤基本是一致的。
2.1 打开文件
在操作一个文件前,需要先打开文件。
函数名 | 含义 |
---|---|
open(name,mode) | 创建一个新文件或打开一个已经存在的文件,name指的是文件名,mode指的是访问模式。 |
常见的mode访问模式有:
模式 | 描述 |
---|---|
r | 以读数据的方式打开文件,这是默认模式,可以省略。 |
rb | 以读二进制原始数据的方式打开文件。 |
w | 以写数据的方式打开文件。如果文件已存在,则打开文件写入数据是会覆盖原有内容;如果文件不存在,则创建新文件。 |
wb | 以写二进制原始数据的方式打开文件。 |
a | 使用追加内容形式,打开一个文件。通常用于写数据,此时会把新内容写入到已有内容后。 |
说明:
(1)访问模式r表示read,即读;
(2)访问模式w表示write,即写。
2.2 读数据
在读取文件前,该文件必须已存在。
函数名 | 含义 |
---|---|
read() | 从某文件中,一次性读完整的数据。 |
readlines() | 按行的方式把文件中的完整内容进行一次性读取,并返回一个列表。 |
readline() | 一行一行读文件中的数据内容。 |
说明:当访问模式有r时,可以读数据。
2.3 写数据
在写文件数据前,文件若不存在,则创建一个新文件。
写数据 | 含义 |
---|---|
write(seq) | 给某文件写数据。 |
说明:
(1)当访问模式有w时,可以写数据;
(2)当使用访问模式a时,用于追加数据内容,也可以写入数据。
2.4 关闭文件
当每次打开文件及使用完毕后,都需要进行关闭文件,用于释放系统内存资源。
函数名 | 含义 |
---|---|
close() | 关闭文件。 |
3. 写数据实例
例如,一起来完成:
(1)给test.txt文件分别写入数据:Hello World、123456;
# 1.打开文件
file = open("./file/test.txt","w")
# 2.写入数据
file.write("Hello World.")
file.write("123456")
# 3.关闭文件
file.close()
print("已成功写入数据!")
(2)思考1:如果要给文件写入内容:请成为厉害的大人和更可爱的小孩
,会怎样?
# # 扩展
file = open("./file/test.txt","a")
file.write("\n请成为厉害的大人和更可爱的小孩")
file.close()
print("已成功写入数据!")
解决中文乱码:添加编码集
# # 扩展
file = open("./file/test.txt","a",encoding='utf-8')
file.write("\n请成为厉害的大人和更可爱的小孩")
file.close()
print("已成功写入数据!")
(3)思考2:如果要在文件原有内容基础上,再追加内容:hello lxy,该怎么做呢?
file = open("./file/test.txt","a")
file.write("\nhello lxy")
file.close()
print("已成功写入数据!")
注意:/n
是换行符。
4. 快捷读取数据
为了简化读写数据的操作,也可以使用语法:
with open(xxx, xx) as 变量名:变量名.read()# 变量名.write(xxx)
实例:
(1)读取test.txt文件的数据内容,并输出;
# 1.打开文件
file = open("./file/test.txt","r",encoding="utf8")
# 2.读数据
texts = file.read()
print(texts)
# 3.关闭文件
file.close()
with open("./file/test.txt","r",encoding='utf8') as file:texts = file.read()
print(texts)
5. 备份文件
备份文件指的是:将原文件的数据内容进行重新写入到另一个新文件中。
实例:
(1)将test.txt文件进行备份处理;
(2)备份文件名为:xxx[备份]后缀名,比如test
[备份].txt。
# 1.打开原始文件
reader = open("./file/test.txt","r",encoding="utf-8")
# A.打开目标文件
writer = open("./file/test[备份].txt","w",encoding="utf-8")# 2.读数据
texts = reader.read()
# B.写数据 -读取的原始文件的数据
writer.write(texts)# 3.关闭文件
reader.close()
# C.关闭目标文件
writer.close()
print("已成功备份文件..")