文件操作流程:
打开文件 -> 操作文件(读/写) -> 关闭文件
打开文件:open(文件路径,打开的方式,编码方式)
文件路径(必填) --> 决定代开哪个文件
打开方式(默认值是‘r’) --> 决定打开文件后进行什么样的操作
'r' -读操作(读出来是字符串)
'rb'/'br' -读操作(读出来的数据是二进制)
'w' - 写操作(可以将文本数据写入文件中)
'wb'/'bw' - 写操作(可以将二进制数据写入文件中)
'a' - 写操作(追加)
编码方式 --> 主要针对文本文件的读写(不同的操作系统默认的文本编码方式不同,Windows—>gbk,mac->utf-8)
1、文本文件读操作
a.放在工程外边的文件,写绝对路径
b.将文件放到工程目录下的某个位置,写相对路径(相对于工程目录):./ 相对路径 或者 ../ 相对路径
当py文件直接放在工程目录下,想要使用open打开工程中的其它文件使用 './'
当py文件放在工程目录的子目录下,想要使用open打开工程中的其它文件使用 '../'
# open('./txst.txt')
# open('./files/text2.txt')
# open('./files/text/text3.txt')
#a.打开文件
#打开文件,返回文件句柄(文件代言人)
f = open('./txst.txt','r',encoding='utf-8')
#b.读文件(获取文件的内容)
"""
文件.read():获取文件内容,并且返回
read(n) --> n 设置读的长度
"""
content = f.read()
print(content)
content2 = f.read()
print(content2)
#c.关闭文件
f.close()
2、文本文件的写操作
#a.打开文件
"""
注意:以读的方式打开文件,如果这个文件不存在,会报FileNotFindError;
以写的方式打开文件,如果这个文件不存在,会创建这个文件
"""
f = open('./files/text2.txt','w',encoding='utf-8')
#b.写操作
"""
'w':在写的时候会清空文件中原来的内容,然后再往里面写数据
'a':在原文件内容的最后添加新的数据
"""
f.write('独酌无相亲')
#c.关闭文件
f.close()
3、二进制文件的读写操作
"""
音频、视频、图片文件,都是二进制
"""
i = open('./files/黑蓝.jpg','rb')
image_data = i.read()
#bytes:python中二进制数据对应的数据类型
print(type(image_data),image_data)
i.close()
"""二进制文件的写操作"""
f = open('./files/new.jpg','wb')
f.write(image_data)
f.close()
"""
4、通过with关键字去打开文件
with open()as 文件变量名:
文件操作
在文件操作结束后会自动去关闭文件
#读
with open('./files/愚青 - 旧词.mp3','rb')as f:
mp3_data = f.read()
#写
with open('./new.mp3','wb')as f:
f.write(mp3_data)
网友评论