open() 函数用于打开一个文件,并返回文件对象
open() 函数完整语法格式:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:
- file: 必需,文件路径(相对或者绝对路径)。
- mode: 可选,文件打开模式 (r:只读模式打开文件,光标在文件开头;w:只写模式打开文件,如果文件存在会清空文件,文件不存在会创建新文件;a:追加模式打开文件,光标在文件结尾,如果文件存在在后面添加数据,文件不存在会创建新文件;b:二进制模式,需结合r,w,a使用,例如:rb,wb;+:打开一个文件进行更新(可读可写),需结合 r,wb 等使用,例如:r+ 在 r 模式基础上让文件可写(光标位置由 r 决定))
- buffering: 设置缓冲
- encoding: 一般使用utf8
- errors: 报错级别
- newline: 区分换行符 (Window下换行符为 \r\n;Linux下为 \n;但Window中 python 会将文件中换行符改为 \n,如果读文件中真正的换行符 newline='')
- closefd: 传入的file参数类型
- opener:
file对象常用函数
file.read([size])返回字符串 从光标处开始读取 size 字符的数据 ,如果未给或为负 ,则从光标处读取之后全部数据并以字符串的形式保存
注意:如果文件大于可用内存,则不可能实现这种处理
file.readline([size])返回字符串 从光标处开始读取该行剩余数据,包括 '\n' 字符;如果指定了一个非负数的参数,则返回指定大小的字节数,包括 "\n" 字符。
file.readlines([size])返回列表 自动将文件内容以行的列表的形式保存,该列表可以由 Python 的 for... in ... 结构进行处理
file.write(str)返回写入的字符串长度 向文件中写入指定字符串(在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区,没有在文件中)
file.writelines( [ str ] )无返回值 向文件中写入一序列的字符串(这一序列字符串可以由迭代对象产生,如一个字符串列表)
file.encoding 查看open打开文件的编码
file.closed 判断文件是否关闭,若关闭返回 True,反之 False
file.flush()无返回值 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件,同时清空缓冲区, 而不是被动的等待输出缓冲区写入
file.seek( ( offset [, whence ]) )无返回值 offset -- 开始的偏移量,也就是代表需要移动偏移的字节数,即移动光标位置;whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。(当为 1 或 2 时文件打开模式需要 b ;seek(-5,2))
file.tell()返回文件当前光标位置
file.truncate( [size] ) 用于从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后 V 后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。文件必须以写的方式打开,但 w 和 w+ 除外