文件操作
1、打开文件语法
f = open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:
- file: 必需,文件路径(相对或者绝对路径)。
- mode: 可选,文件打开模式
- buffering: 设置缓冲
- encoding: 一般使用utf8
- errors: 报错级别
- newline: 区分换行符
- closefd: 传入的file参数类型
mode参数:
1、r 已只读的方式打开文件,文件的指针放在文件开头,这是默认模式
2、w 打开一个文件用于写入,如果该文件存在即打开文件,并从头开始编辑,原文件内容会被删除,文件不存在,创建新文件
3、a 打开一个文件用于追加,如果文件存在文件指针放在文件末尾,也就是说,文件内容写到文件末尾,如果文件不存在,新建文件写入
4、r+ 打开一个文件用于读写,文件指针会放在文件开头
5、w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
6、a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
2、file 对象常用函数
file = open('a.txt',encoding='utf-8') file.close() #关闭文件,关闭后不能再进行读操作 file.flush() #刷新文件内部缓冲,直接把内部缓冲区的数据立即写入文件 file.read() #从文件读取指定的字节数,如果未指定或未负则读取所有 file.readline() #读一行内容 file.readlines() #读出所有文件放到list里面 file.seek(0) #设置文件当前的位置 file.tell() #返回文件当前的位置 file.truncate() #清空文件 file.write() #将字符串写入文件 file.writelines() #循环写入list,set
3、高效读取文件
f = open('access.log',encoding='utf-8') for line in f: print('每一行的内容 ',line)
4、例子:修改文件
import os
with open('a.txt',encoding='utf-8') as f1,open('a2.txt',encoding='utf-8') as f2:
for line in f1: new_line = line.replace('一', '1') f2.write(new_result) os.remove('a.txt') os.rename('a2.txt', 'a.txt')