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


原文地址: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(r'f:\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(r'f:\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>  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM