参考 : 

http://www.newsmth.net/nForum/#!article/Python/54311

pydoc 中的 file 一节


Python 中打开一个文件的函数 open() 的第二个参数指明了打开的模式. 可以赋予该参数的实参 *枚举* 如下 : 

'r', 'r+', 'w', 'w+', 'a', 'a+', 'rU'


其中 : 

'r' : 以只读模式打开

'r+' : 以读写模式打开, 写的指针刚开始指在文件开头, 因此会覆写文件

'w' : 清空文件, 不能使用 .read*() 方法.  (read(), readline(), readlines())

'w+' : 清空文件, 可以使用 .read*() 方法. 

'a' : 向一个文件追加内容,  不能使用 .read*()

'a+' : 向一个文件追加内容, 可以使用 .read*()

'rU' : 自动探测行尾符, 如果以这种模式打开一个文件, 该文件对象将获得一个 newlines 属性, 当还未读到任何行尾时, .newlines 属性等于 None, 读到了则可能是'\n', '\r\n', '\r' 中的一种. (什么系统的换行符是 \r, 求高手指教!!!)


注 : 1. 读的指针总是指在文件开头

     2. .seek() 改变的总是读的指针