参考 :
http://www.newsmth.net/nForum/#!article/Python/54311
pydoc 中的 file 一节
Python 中打开一个文件的函数 open() 的第二个参数指明了打开的模式. 可以赋予该参数的实参 *枚举* 如下 :
'r', 'r+', 'w', 'w+', 'a', 'a+', 'rU'
其中 :
'r' : 以只读模式打开
'r+' : 以读写模式打开, 写的指针刚开始指在文件开头, 因此会覆写文件
'w' : 清空文件, 不能使用 <file>.read*() 方法. (read(), readline(), readlines())
'w+' : 清空文件, 可以使用 <file>.read*() 方法.
'a' : 向一个文件追加内容, 不能使用 .read*()
'a+' : 向一个文件追加内容, 可以使用 .read*()
'rU' : 自动探测行尾符, 如果以这种模式打开一个文件, 该文件对象将获得一个 newlines 属性, 当还未读到任何行尾时, <file>.newlines 属性等于 None, 读到了则可能是'\n', '\r\n', '\r' 中的一种. (什么系统的换行符是 \r, 求高手指教!!!)
注 : 1. 读的指针总是指在文件开头
2. <file>.seek() 改变的总是读的指针