下面说几个关于文件对象的操作
1.文件对象方法——打开文件
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
Open file and return a stream. Raise OSError upon failure.
- file: 必需,文件路径(相对或者绝对路径)
- mode: 可选,文件打开模式
- buffering: 设置缓冲
- encoding: 一般使用utf8
- errors: 报错级别
- newline: 区分换行符
mode的详细描述:
打开模式 | 描述 |
---|---|
‘r’ | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式 |
‘w’ | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑。即原有内容会被删除。如果该文件不存在,创建新文件 |
‘x’ | 写模式,新建一个文件,如果该文件已存在则会报错 |
‘a’ | 追加模式,打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
‘b’ | 以二进制模式打开文件。一般用于非文本文件,如:图片 |
‘t’ | 以文本模式打开(默认)。一般用于文本文件,如:txt |
‘+’ | 可读写模式(可添加到其它模式中使用) |
2.文件对象的其他方法
方法 | 描述 |
---|---|
fileObject.close() | 用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发ValueError错误 |
fileObject.read([size]) | 用于从文件读取指定的字符数,如果未给定或为负则读取所有 |
fileObject.readline() | 读取整行,包括 “\n” 字符 |
fileObject.readlines() | 用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for… in … 结构进行处理 |
fileObject.tell() | 返回文件的当前位置,即文件指针当前位置 |
fileObject.seek(offset[, whence]) | 用于移动文件读取指针到指定位置 |
fileObject.write(str) | 用于向文件中写入指定字符串,返回的是写入的字符长度 |
fileObject.writelines(sequence) | 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符\n |