总结:
- 文件操作掌握一个函数open,三个方法read,write,close;
1、操作文件的思路
- 打开文件; 注意: 计算机操作文件的步骤基本固定!
- 读取文件;
- 关闭文件;
2、 操作文件
在Python中操作文件记住 1个函数和三个方法:
- 内置函数 完成 打开文件;
- file对象的方法完成 读写关闭操作;
内置函数 ---- 1个 | 作用 |
---|---|
open(filename,[ mode , encoding ]) | 打开文件, 返回 文件对象; |
文件对象的方法 --- 3个 | 作用 |
---|---|
file.read() | 将文件读取到内存; |
file.write() | 将内容写入文件; |
file.close() | 关闭文件 |
3、open()函数
# 简单的测试 文件的打开和读取
f = open("D://test//a.txt",mode="r",encoding='gbk')
print(f.read())
f.close()
3.1 open函数的mode参数:
简单记忆: mode 主要是: 读 , 写 ,追加。
操作文本 | 操作 二进制 | 作用 |
---|---|---|
r | rb | 只读模式,文件必须存在; --- 默认模式 |
w | wb | 只写模式,创建新文件; ---- 该模式读取无意义,只操作write即可 |
a | ab | 追加只写模式,文件存在:光标在最后,文件不存在:创建新文件; |
r+ | rb+ | 读写模式,文件必须存在;---光标在最前面,从光标开始覆盖写; |
w+ | wb+ | 读写模式,创建新文件; ---- 该模式读取无意义,只操作write即可 |
a+ | ab+ | 读写模式,文件存在:光标在最后,文件不存在:创建新文件; |
3.2 wish as 语句: 常用此方式!
用于在代码块结束时自动关闭文件或资源,以避免可能发生的资源泄漏或错误。
语法:
with 表达式 as target:
代码块
- 表达式:必须返回一个可上下文管理器(context manager)对象。
- target:接收表达式的返回值;
with open("D://test//a.txt",mode="r",encoding='gbk') as f:
print(f.read())
4、file对象的方法
操作 | 作用 |
---|---|
file.read( num ) | 读取指定长度的数据,不指定则读取文件全部; |
file.readline() | 读取一行; |
file.readlines() | 读取所有行,返回列表; |
for line in file: print (line) | file可迭代循环,line就是一行数据; |
案例:读取大文本文件:
# 简单的测试 文件的打开和读取
with open('读文件', mode="r") as f_read, open("写文件", mode="w") as f_write:
f_write.writelines(f_read.readlines())
案例:复制图片/任意文件:
# 复制图片
with open("读文件名", 'rb') as fR, open("写文件名", "wb") as fW:
while True:
x = fR.read(1024*8) # 一次读取8kb的数据量
fW.write(x) # 一次写出8k
if len(x) <= 0: # 如果读取到的数据长度为0,结束读写操作
break;
print("复制完毕")