1. 程式人生 > >【轉】python文件打開方式詳解——a、a+、r+、w+區別

【轉】python文件打開方式詳解——a、a+、r+、w+區別

不能 mos open col strong cnblogs span ast last

原文地址:http://blog.csdn.net/ztf312/article/details/47259805

第一步 排除文件打開方式錯誤:

r只讀,r+讀寫,不創建

w新建只寫,w+新建讀寫,二者都會將文件內容清零

(以w方式打開,不能讀出。w+可讀寫)

**w+與r+區別

r+:可讀可寫,若文件不存在,報錯;w+: 可讀可寫,若文件不存在,創建

r+與a+區別

fd = open("1.txt",w+)  
fd.write(123)  
fd = open("1.txt",r+)  
fd.write(456)  
fd = open("1.txt",a+)  
fd.write(
789)

結果:456789

說明r+進行了覆蓋寫。

以a,a+的方式打開文件,附加方式打開

a附加寫方式打開,不可讀;a+: 附加讀寫方式打開)

以 ‘U‘ 標誌打開文件, 所有的行分割符通過 Python 的輸入方法(例#如 read*() ),返回時都會被替換為換行符\n. (‘rU‘ 模式也支持 ‘rb‘ 選項) .

r和U要求文件必須存在

不可讀的打開方式w和a

若不存在會創建新文件的打開方式:a,a+,w,w+

>>> fd=open(rf:\mypython\test.py,w)    #只讀方式打開,讀取報錯  
>>> fd.read()  
Traceback (most recent call last):  
  File 
"<stdin>", line 1, in <module> IOError: File not open for reading >>> fd=open(rf:\mypython\test.py,a)#附加寫方式打開,讀取報錯 >>> fd.read() Traceback (most recent call last): File "<stdin>", line 1, in <module> IOError: File not open for reading >>></span></span></span>

【轉】python文件打開方式詳解——a、a+、r+、w+區別