如果以 r+、w、w+、a、a+ 模式打开文件,则都可以写入。需要指出的是,当以 r+、w、w+ 模式打开文件时,文件指针位于文件开头处;当以 a、a+ 模式打开文件时,文件指针位于文件结尾处。
另外,需要说明的是,当以 w 或 w+ 模式打开文件时,程序会立即清空文件的内容。
文件指针的概念
文件指针用于标明文件读写的位置。假如把文件看成一个水流,文件中每个数据(以 b 模式打开,每个数据就是一个字节;以普通模式打开,每个数据就是一个字符)就相当于一个水滴,而文件指针就标明了文件将要读写哪个位置。
图 1 简单示意了文件指针的概念。
文件指针概念示意图
图 1 文件指针概念示意图
文件对象提供了以下方法来操作文件指针:
seek(offset[, whence]):该方法把文件指针移动到指定位置。当 whence 为 0 时(这是默认值),表明从文件开头开始计算,比如将 offset 设为 3,就是将文件指针移动到第 3 处;当 whence 为 1 时,表明从指针当前位置开始计算,比如文件指针当前在第 5 处,将 offset 设为 3,就是将文件指针移动到第 8 处;当 whence 为 2 时,表明从文件结尾开始计算,比如将 offset 设为 3,表明将文件指针移动到文件结尾倒数第 3 处。
tell():判断文件指针的