新聞中心
讀寫文件是最常見的IO操作。Python內(nèi)置了讀寫文件的函數(shù),用法和C是兼容的。

創(chuàng)新互聯(lián)是專業(yè)的臨海網(wǎng)站建設(shè)公司,臨海接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行臨海網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
讀寫文件前,我們先必須了解一下,在磁盤上讀寫文件的功能都是由操作系統(tǒng)提供的,現(xiàn)代操作系統(tǒng)不允許普通的程序直接操作磁盤,所以,讀寫文件就是請求操作系統(tǒng)打開一個(gè)文件對象(通常稱為文件描述符),然后,通過操作系統(tǒng)提供的接口從這個(gè)文件對象中讀取數(shù)據(jù)(讀文件),或者把數(shù)據(jù)寫入這個(gè)文件對象(寫文件)。
讀文件
要以讀文件的模式打開一個(gè)文件對象,使用Python內(nèi)置的open()函數(shù),傳入文件名和標(biāo)示符:
>>> f = open('/Users/michael/test.txt', 'r')標(biāo)示符'r'表示讀,這樣,我們就成功地打開了一個(gè)文件。
寫文件
寫文件和讀文件是一樣的,唯一區(qū)別是調(diào)用open()函數(shù)時(shí),傳入標(biāo)識符'w'或者'wb'表示寫文本文件或?qū)懚M(jìn)制文件:
>>> f = open('/Users/michael/test.txt', 'w')
>>> f.write('Hello, world!')
>>> f.close()你可以反復(fù)調(diào)用write()來寫入文件,但是務(wù)必要調(diào)用f.close()來關(guān)閉文件。當(dāng)我們寫文件時(shí),操作系統(tǒng)往往不會立刻把數(shù)據(jù)寫入磁盤,而是放到內(nèi)存緩存起來,空閑的時(shí)候再慢慢寫入。只有調(diào)用close()方法時(shí),操作系統(tǒng)才保證把沒有寫入的數(shù)據(jù)全部寫入磁盤。忘記調(diào)用close()的后果是數(shù)據(jù)可能只寫了一部分到磁盤,剩下的丟失了。所以,還是用with語句來得保險(xiǎn):
with open('/Users/michael/test.txt', 'w') as f:
f.write('Hello, world!')要寫入特定編碼的文本文件,請給open()函數(shù)傳入encoding參數(shù),將字符串自動(dòng)轉(zhuǎn)換成指定編碼。細(xì)心的童鞋會發(fā)現(xiàn),以'w'模式寫入文件時(shí),如果文件已存在,會直接覆蓋(相當(dāng)于刪掉后新寫入一個(gè)文件)。如果我們希望追加到文件末尾怎么辦?可以傳入'a'以追加(append)模式寫入。更多學(xué)習(xí)內(nèi)容,請點(diǎn)擊Python學(xué)習(xí)網(wǎng)。
網(wǎng)站標(biāo)題:創(chuàng)新互聯(lián)Python教程:python文件無法讀寫怎么辦
鏈接URL:http://www.5511xx.com/article/cooscds.html


咨詢
建站咨詢
