open()方法
file对象常用open函数创建,完整的语法格式:
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参数详解:
- t:文本模式(默认)
- x:写模式,新建一个文件,如果该文件已存在,则会报错
- b:二进制模式
- +:打开一个文件进行更新(可读可写)
- r:以只读方式打开文件,文件的指针将会放在开头(默认)
- w:打开一个文件只用于写入,如果该文件已存在,则指针会放在文件的开头写入,即原有文件会被删除;若文件不存在,则创建新文件
- rb:以二进制格式打开一个文件用于只读,指针会放在文件的开头,一般用于非文本文件如图片等
file对象常用函数
- file.close():关闭文件,不能在进行读写操作
- file.flush():刷新文件内部缓冲,直接将内部缓冲区的数据立刻写入文件,而不是被动等待输出缓冲区写入
- file.next():返回文件下一行
- file.read([size]):从文件读取指定的字节数,若未给定或为负则读取所有
- file.readline([size]);读取文件整行,包括‘/n’字符,size若为非负参数则表示读取的字节数
- file.readlines([sizeint]):读取文件所有行,并返回列表,若sizeint>0,则为一次读取的字节数
- file.seek(offset,whnence):用于移动文件读取指针到指定位置,操作成功返回文件的新位置,否则返回-1。offset为偏移量,whence=0代表文件开头位置,whence=1代表文件当前位置,whence=2代表文件末尾
- file.tell():返回文件当前位置
- file.write(str):将字符创写入文件,返回的是写入的字符串长度
- file.writelines(sequence):向文件写入一个序列字符创列表,若需要换行则要自己加入每行的换行符