一、对文件操作流程
- 打开文件,得到文件句柄并赋值给一个变量
- 通过句柄对文件进行操作
- 关闭文件
f=open("yesterday" ,'r', encoding="utf-8") # a只能添加不可读 ,r只读 ,w只写
data1=f.readline() # 读取一行
print(data1) # 输出读取内容
f.close() # 关闭文件
打开文件的模式有:
- r,只读模式(默认)。
- w,只写模式。【不可读;不存在则创建;存在则删除内容;】
- a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
- r+,可读写文件。【可读;可写;可追加】
- w+,写读
- a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
- rU
- r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
- rb
- wb
- ab
二、为了避免打开文件后忘记关闭,可以通过with语句打开文件
with open("yesterday" ,'r', encoding="utf-8") as f:
pass
# 读取一个文件
with open("yesterday" ,'r', encoding="utf-8") as f,open('yes2', 'a', encoding='utf-8')as f2:
pass
#读取多个文件,中间用逗号隔开
三、文件修改
在yesterday文件中读取数据,写入yes2把生命替换为shengming
f2=open('yes2', 'a', encoding='utf-8') # f为文件句柄 w+写读,a+:追加读
f1=open('yesterday', 'r', encoding='utf-8') # f为文件句柄,r+读写 w+写读,a+:追加读
for line in f1:
if '生命' in line:
line=line.replace('生命', 'shengming')
f2.write(line)