Python基础知识(八)--文件操作,备份文件
文件可以用来存储数据。若根据文件内容的不同来给文件分类,可分为:
(1)文本类型:存放文字类数据,读写时使用r、w;
(2)二进制原始数据类型:存放二进制bytes数据,比如图片、音频、视频等,读写时使用rb、wb;
在Python中操作文件记录信息的步骤:
(1)打开文件,或新建一个文件; open()
(2)读取或写入数据内容; read() / write()
(3)关闭文件。 close()
说明:
无论操作文件的过程多么复杂,这个步骤基本是一致的。
(1)打开文件
在操作一个文件前,需要先打开文件。
函数名 | 含义 |
open(name, mode) | 创建一个新文件或打开一个已经存在的文件,name指的是文件名,mode指的是访问模式。 |
常见的mode访问模式有:
模式 | 描述 |
r | 以读数据的方式打开文件,这是默认模式,可以省略。 |
rb | 以读二进制原始数据的方式打开文件。 |
w | 以写数据的方式打开文件。如果文件已存在,则打开文件写入数据是会覆盖原有内容。如果文件不存在,则创建新文件。 |
wb | 以写二进制原始数据的方式打开文件。 |
a | 使用追加内容形式,打开一个文件。通常用于写数据,此时会把新内容写入到已有内容后。 |
说明:
(1)访问模式r表示read,即读;
(2)访问模式w表示write,即写。
(2)读数据
在读取文件数据前,该文件必须已存在。
函数名 | 含义 |
read() | 从某文件中,一次性读完整的数据。 |
readlines() | 按行的方式把文件中的完整内容进行一次性读取,并返回一个列表。 |
readline() | 一行一行读文件中的数据内容。 |
说明:
当访问模式有r时,可以读数据。
(3)写数据
在写文件数据前,文件若不存在,则创建一个新文件。
函数名 | 含义 |
write(seq) | 给某文件写数据。 |
说明:
(1)当访问模式有w时,可以写数据;
(2)当使用访问模式a时,用于追加数据内容,也可以写入数据。
(4)关闭文件
当每次打开文件及使用完毕后,都需要进行关闭文件,用于释放系统内存资源。
函数名 | 含义 |
close() | 关闭文件。 |
总结:
(1)读数据时使用r模式,写数据时使用(w)模式;
(2)不管一个文件有多么复杂,操作步骤都是:打开文件、读/写数据、关闭文件。
[掌握]写数据
给文件写入数据:
函数名 | 含义 |
write(seq) | 给某文件写数据。 |
# 1.打开文件
file = open("./file/test.txt","w")
# 2.写入数据
# file.write("Hello World.")
file.write("123456")
# 3.关闭文件
file.close()
print("已成功写入数据!")
####################扩展写入中文#####################
# 1.打开文件
# file = open("./file/test2.txt","w")
file = open("./file/test2.txt","w",encoding="utf-8") # 写入中文: encoding编码
# 2.写入数据
file.write("世界和平")
# 3.关闭文件
file.close()
print("数据已写入成功!!")
给文件读取数据:
函数名 | 含义 |
read() | 从某文件中,一次性读完整的数据。 |
说明:
读取文件数据之前,要保证文件已经存在。
为了简化读写数据的操作,也可以使用语法:
with open(xxx, xx) as 变量名:
变量名.read()
# 变量名.write(xxx)
读取数据的两种方式:
# 1.打开文件
# file = open("./file/hello.txt","r")
file = open("./file/hello2.txt","r",encoding="utf8")
# 2.读数据
texts = file.read()
print(texts)
# 3.关闭文件
file.close()
with open("./file/hello.txt","r") as file:
texts = file.read()
print(texts) #自动关闭文件
其他方式读数据
函数名 | 含义 |
readlines() | 按行的方式把文件中的完整内容进行一次性读取,并返回一个列表。 |
readline() | 一行一行读文件中的数据内容。 |
readlines()读取数据:
# 1.打开文件
# file = open("./file/hello.txt","r")
#扩展写入中文
file = open("./file/hello.txt","r",encoding="utf-8")
# 2.读数据
# readlines()
#一次性读取,返回一个列表
lines = file.readlines() # ['hello python\n', 'abc\n', 'ABCDEFG\n', '123']
print(lines)
# 3.关闭文件
file.close()
readline()读取数据:
# 1.打开文件
# file = open("./file/hello.txt","r")
#扩展写入中文
file = open("./file/hello.txt","r",encoding="utf-8")
# readline() 一行一行的读取,当使用readline()读取数据时, 指针偏移量开始移动; 2.再调用指针继续移动
line = file.readline()
print(line)
while True:
line = file.readline()
if len(line) == 0: # \n
break
print(line)
# 3.关闭文件
file.close()
对文件进行备份:
# 1.打开原始文件
reader = open("./file/hello.txt","r")
# A.打开目标文件
writer = open("./file/hello[备份].txt","w")
# 2.读数据
texts = reader.read()
# B.写数据 -读取的原始文件的数据
writer.write(texts)
# 3.关闭文件
reader.close()
# C.关闭目标文件
writer.close()
print("已成功备份文件..")
原文地址:https://blog.csdn.net/weixin_58468790/article/details/142597421
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!