文件读写
前面的示例已经提到了open()
函数,这个函数可以以指定的模式打开一个文件对象,要使用这个函数,只需要传入文件名和标识符。如果要打开的文件不存在,open()
函数会抛出一个IOError
并给出详细的错误码和错误信息。open()
的使用格式是open(文件路径, 标识符)
。
打开的文件可以使用.read()
方法一次性读取其中的数据,或者使用read(n)
来读取指定文件长度,还可以使用.write()
来向文件中写入数据,最后需要使用.close()
方法关闭文件对象。为了操作的简便,可以使用with
语句来完成文件的操作。
标识符是一个可以组合的字符串,其中使用几个字母来表示打开的模式。常见的组合有以下若干:
标识符 | 模式 |
---|---|
r | 只读模式,指针在头部 |
rb | 二进制只读模式,指针在头部 |
r+ | 读写模式,指针在头部 |
rb+ | 二进制读写模式,指针在头部 |
w | 只写模式,如果文件存在则覆盖,如果不存在则新建 |
wb | 二进制只写模式,如果文件存在则覆盖,如果不存在则新建 |
w+ | 读写模式,如果文件存在则覆盖,如果不存在则新建 |
wb+ | 二进制读写模式,如果文件存在则覆盖,如果不存在则新建 |
a | 追加模式,如果文件已存在则指针在末尾,如果不存在则新建 |
ab | 二进制追加模式,如果文件已存在则指针在末尾,如果不存在则新建 |
a+ | 读写模式,如果文件已存在则指针在末尾,如果不存在则新建 |
ab+ | 二进制读写模式,如果文件已存在则指针在末尾,如果不存在则新建 |
open()
函数还可以接受一个encoding
参数,用于指示打开的文件的编码,以及一个errors
参数,用于指示出现错误后的处理方式,例如直接忽略(errors='ignore'
)。