【轉】python文件打開方式詳解——a、a+、r+、w+區別
阿新 • • 發佈:2017-11-07
不能 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(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>
【轉】python文件打開方式詳解——a、a+、r+、w+區別