目录
-
对文件内容进行操作,当然我们需要先打开文件,获取文件句柄(内容)
打开文件
open()
-
参数列表为:
-
path --- 文件路径
-
mode --- 打开模式(b/ r / rb / w / wb / a / ab / r+ / rb+ / w+ / wb+ / a+ / ab+ /)
-
buffering --- 缓冲区,由于内存的读写速度快于外设,所以大部分情况不需传参(不大于0)
-
encoding --- 编码格式,通常为'utf-8'
-
-
语法格式为: 变量名 = open()
-
使用步骤:
-
打开文件,创建文件对象
-
使用文件对象进行操作
-
读取:read / readline (读取和每次读取一行)
-
写入:write / writeline (写入和每次写入一行)
-
-
关闭文件
-
-
f2 = open(path, encoding='utf-8', mode='r') print(f2.read()) f2.write('你好') f2.close()
with open() as ...
-
人总会有松懈的时候,为了避免忘记close()文件,我们可以使用 with open()
-
语法格式为: with open() as 变量名:
-
将对文件的操作换行缩进到下方代码块中
-
-
该方法不需要close()方法,会自动关闭文件
-
可以理解为 省去close()环节的open()方法
-
with open(path, encoding='utf-8', mode='r') as f1: f1_data = csv.DictReader(f1) for i in f1_data: print(i)
open()与with open as 的模式参数说明
-
r: 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
-
rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。
-
r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
-
rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
-
w: 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
-
wb: 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
-
w+: 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
-
wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
-
a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
-
ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
-
a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
-
ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
文件刪除
-
引入
os
模块 -
os.remove('path')
,删除文件 -
os.rename('旧名','新名')
,文件改名